我编写了一个正则表达式来将搜索字符串拆分为其组成部分。特点包括:
- 运算符:
+
,-
,AND
,OR
- 用引号对单词进行分组(现在是单引号和双引号)
- 正确忽略撇号
所以:
((?<=^|\s)(?:[\+\-]?"[^"]+"(?=\s|$)|[\+\-]?'[^']+'(?=\s|$)|[\+\-]?\S+|AND|and|OR|or)(?=$|\s))
从结果匹配中排除分隔符引号的最简单方法是什么?例子:
lsdkjflws's ldkj and "lfldkfjs's ldkjfls" lskdj
结果如下:
- lsdkjflws 的
- ldkj
- 和
- “lfldkfjs 的 ldkjfls”
- lskdj
我不需要这样做,我只想在正则表达式中再完成一步。