我想編程搜索。主要問題是搜索帶引號的文本,並使用+和減號搜索。邏輯搜索字符串的正則表達式
我希望有一個正則表達式來搜索例如
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