2016-07-07 60 views
1

我想考的話串不與特定的單詞開始begening,JavaScript的正則表達式測試不與屬性

var content = 'special-src="http://www.link.com" '; 
var src = new RegExp(/\b(?!special-)\w*src=*\b/g); 
console.log(src.test(content)); 

這應該安慰一個假的,但事實並非如此。

但是,如果我刪除 - 從正則表達式和內容,其結果是好的,所以我想這是一種逃避問題的?

+2

爲什麼你使用'global'標誌?你需要測試一個字符串中的每個單詞而不是字符串本身嗎? – VisioN

+0

@VisioN是的,我必須測試所有的單詞; – adrien334

+0

我建議你添加更多的示例來說明 – anubhava

回答

0

嘗試:

var content = 'special-src="http://www.link.com" '; 
var src = /^(?!special\-)\w*src=.*$/g; 
console.log(src.test(content)); 

UPDATE

有一個在表達一個錯誤,應該是!?改爲?!。正確的代碼是

var content = 'special-src="http://www.link.com" '; 
var src = /^(!?special\-)\w*src=.*$/g; 
console.log(src.test(content)); 
+0

沒有理由,如果你有在src前的空間它不會返回true – adrien334

+0

字符串邊界'^'和'$'不是訣竅 – Brad