我想编程搜索。主要问题是搜索带引号的文本,并使用+和减号搜索。逻辑搜索字符串的正则表达式
我希望有一个正则表达式来搜索例如
var test = '"search test" searchword2 -searchword3';
应导致
[0] = 'search test';
[1] = 'searchdword2';
[2] = '-searchword3';
谢谢
编辑:
Sry基因,但我希望有不带引号的第一个结果。我的错。
我想编程搜索。主要问题是搜索带引号的文本,并使用+和减号搜索。逻辑搜索字符串的正则表达式
我希望有一个正则表达式来搜索例如
var test = '"search test" searchword2 -searchword3';
应导致
[0] = 'search test';
[1] = 'searchdword2';
[2] = '-searchword3';
谢谢
编辑:
Sry基因,但我希望有不带引号的第一个结果。我的错。
看来你想拆分stri除空白符号用引号括起来外,其余部分均为空格。对?
在这种情况下(假设你没有对付引用的字符串内转义引号),尝试
"[^"]*"|\S+
如果有可能逃脱引号(\"
)在字符串中,使用
"(?:\\.|[^"])*"|\S+
我认为,如果你只是想一个正则表达式,将分割的条款出来,你可以使用
("(\w|\s)+")|([-+]?(\w)+)
http://rubular.com/r/aOKs3nF7Fk
虽然你的问题不够明确
嗯,你可能也想尝试:
/"[\w ]+"| (?:-|\+)?\w+ ?/g
你能否给我提供一个没有引号的解决方案? 谢谢 – 2013-04-08 14:11:47
困难 - 你似乎在使用JavaScript,对不对?这个正则表达式并不支持这个工作需要的lookbehind断言。你不能在一个额外的步骤中删除引号吗? – 2013-04-08 20:13:14