我有一个字符串:
输入:
“Feature .. sklsd”AND klsdjkls 9290“Feass.lskdk SDFSD __ ksdljsklfsd”NOT“Feuas”“Feature.lskd”或PUT klasdkljf al9- .s.a,9a0sd90209 .a,sdklf jalkdfj al; akd
我需要匹配除OR
,NOT
,AND
,"Feature.any_count_of_characters"
最后一个很重要,首先是:"Feature.
随后是任意数量的字符,然后以:" character.
我正在尝试使用lookahead
或lookbehind
解决此问题,但我可以获得预期的输出,只有一部分我不想要的字符。
我的预期输出是
“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/
感谢。
修改
在链接里面我得到一些表达式。但我不需要匹配的表达式。我需要逆,我怎么能得到它?
感谢。
答案 0 :(得分:1)
只需使用
\s*(?:AND|OR|NOT|"[^"]+")\s*
但要做替换操作。这将留下你想要的东西。
答案 1 :(得分:0)
你的基本问题是看后面不能有任意长度,但你需要它。有解决方法,但更简单的方法是使用捕获组:
"Feature\.[^"]*" (?:OR|NOT|AND) ([^"])
你的目标将在比赛的第1组。