正则表达式 - 匹配除“Something.AnyChart”之外的任何字符

时间:2014-01-10 22:36:49

标签: regex lookahead lookbehind

我有一个字符串:

输入:

  

“Feature .. sklsd”AND klsdjkls 9290“Feass.lskdk SDFSD __ ksdljsklfsd”NOT“Feuas”“Feature.lskd”或PUT klasdkljf al9- .s.a,9a0sd90209 .a,sdklf jalkdfj al; akd


我需要匹配除ORNOTAND"Feature.any_count_of_characters"

之外的任何字符

最后一个很重要,首先是:"Feature.

随后是任意数量的字符,然后以:" character.

结束

我正在尝试使用lookaheadlookbehind解决此问题,但我可以获得预期的输出,只有一部分我不想要的字符。

我的预期输出

  

“Feature .. sklsd”AND klsdjkls 9290 “Feass。lskdk SDFSD __ ksdljsklfsd”NOT“Feuas”“Feature.lskd”OR PUT klasdkljf al9- .sa,9a0sd90209 .a ,sdklf jalkdfj al; akd

所有黑色。

要测试它我正在使用这些链接:

http://gskinner.com/RegExr/
http://regexpal.com/

感谢。

修改

点击此链接http://regexr.com?37v36

在链接里面我得到一些表达式。但我不需要匹配的表达式。我需要逆,我怎么能得到它?

感谢。

2 个答案:

答案 0 :(得分:1)

只需使用

\s*(?:AND|OR|NOT|"[^"]+")\s*

但要做替换操作。这将留下你想要的东西。

答案 1 :(得分:0)

你的基本问题是看后面不能有任意长度,但你需要它。有解决方法,但更简单的方法是使用捕获组:

"Feature\.[^"]*" (?:OR|NOT|AND) ([^"])

你的目标将在比赛的第1组。