?前令牌不可量化

时间:2019-07-18 07:52:12

标签: javascript regex

我有这个正则表达式,它在chrome浏览器中没有任何问题,但由于以下错误而导致Safari的故事书崩溃:

  

无效的正则表达式:无效的组说明符名称

当我将regex放在regex101.com编辑器中时,它没有给我任何错误(在PHP部分中),但是当我将其切换为javascript时,出现了此错误:

  

?前面的令牌不可量化

regex:/^(.*)(?<=(@))([^@ ])*(<br>)?$/

我不知道它有什么问题,为什么它会在野生动物园中崩溃,但不会崩溃我的Chrome故事书

1 个答案:

答案 0 :(得分:1)

传统JavaScript不支持正则表达式中的后视断言((?<=...))。显然,Chrome已经开始实现它们,但是大多数其他浏览器还没有实现。

但是,我完全不明白为什么您需要在后面进行浏览:

/^(.*(@))([^@ ])*(<br>)?$/

似乎应该达到相同的目的。