分隔符的正则表达式

时间:2011-10-05 18:45:23

标签: regex csv pattern-matching

需要一些正则表达式的帮助

如何编写一个表达式来过滤分隔符(制表符,逗号,分号)之间的所有内容?所有的前/后空格也一样。

示例输入

Abra Cadabra       ; Harry Potters,Magic Wand[tab]Sucks!

匹配

[Abra Cadabra]
[Harry Potters]
[Magic Wand]
[Sucks!]

不希望

[Abra Cadabra     ]

我想出了这个来选择输出所需的一切

\s*[,;\t\n]\s*

有没有办法“扭转”它?

3 个答案:

答案 0 :(得分:1)

就简单匹配/搜索而言,这一个seems working

[^,;\t ]+(?: +[^,;\t ]+)*
顺便说一句,我同意凯文在那里的评论,我会使用像

这样的东西

string.split(/\s*[,;\t]+\s*/)

答案 1 :(得分:0)

negated character class之类的东西(你需要向下滚动一下)。试试这个:

[^,;\t\n]*

它适用于Expresso,它是基于.NET的。


玩那个rubular的东西,我认为[^,;\t\n]*\b可能会给你你想要的东西......

答案 2 :(得分:0)

你应该可以使用它。

\s[^,;\t\n]*\s*
相关问题