我写了一个正则表达式,将搜索字符串拆分为其组成部分。功能包括:
+
,-
,AND
,OR
所以:
((?<=^|\s)(?:[\+\-]?"[^"]+"(?=\s|$)|[\+\-]?'[^']+'(?=\s|$)|[\+\-]?\S+|AND|and|OR|or)(?=$|\s))
从结果匹配中排除分隔符引号的最简单方法是什么?例如:
lsdkjflws's ldkj and "lfldkfjs's ldkjfls" lskdj
导致这些部分:
我不需要这样做,我只想在正则表达式中再做一步。
答案 0 :(得分:0)
什么引擎?如果它支持消极和积极的前瞻,那很简单:
而不是:
"[^"]+"
您可以使用以下内容:
(?<=")[^"]+(?=")
然后从匹配中排除引号,但仍然只匹配引号的内容。我希望这就是你所追求的目标。