技术解析

移动端浏览器不支持 (?<!exp) 正则应该如何解决
0
2021-08-16 19:11:29
idczone

最近需要写一个 markdown 编辑器,本来是没有问题的,在我电脑上一切工作正常。但切换到移动端浏览器后,正则处理就报错:

Uncaught SyntaxError: Invalid regular expression:: Invalid group

搜索发现是移动端浏览器不支持(?

h1: new RegExp("(?

替换为:

h1: new RegExp("(?=[\\s]?)#{1} (.*)",'g')
or
h1: new RegExp("(?:\\s?)#{1} (.*)",'g')

这样却导致了它匹配所有字符串而不管它是否是单独的一行

请问正确的解决方法应该是?


断言支持参差不齐,建议别用断言。
如果不得不用,可以考虑使用第三方正则引擎,比如 XRegExp 这些提供正则现代语法完整支持的库

使用第三方库,比如 XRegExp 。

数据地带为您的网站提供全球顶级IDC资源