1

這個正則表達式似乎在Chrome,Firefox和IE11打破...正則表達式在瀏覽器中打破?

'abc(def'.match('\((\w*)') 

這有什麼錯呢?有沒有更好的方式來逃避(字符

如果我這樣做,這樣一來,他們很高興:

/\((\w*)/.exec('abc(def') 
+0

一些在線測試工具接受這一點,但當然,他們有可能在正則表達式格式執行它,或逃避\字符。 –

回答

4

你需要躲避\字符,如果您從構建正則表達式字符串字面量:

'abc(def'.match('\\((\\w*)') 

或者乾脆使用正則表達式文本:

'abc(def'.match(/\((\w*)/) 
2

這是因爲你的正則表達式必須/,而不是'之間封閉:

'abc(def'.match(/\((\w*)/)