浏览器中的正则表达式中断

Regular expression breaking in browsers?

本文关键字:中断 正则表达式 浏览器      更新时间:2023-09-26

这个正则表达式似乎在Chrome、Firefox和IE11中崩溃了…

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

它有什么毛病吗?有没有更好的方法来逃离(字符?

如果我这样做,他们会很高兴:

/'(('w*)/.exec('abc(def')

如果从字符串文字构造正则表达式,则需要转义'字符:

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

或者简单地使用正则表达式文字:

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

这是因为正则表达式必须包含在/而不是':之间

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