最近需要写一个 markdown 编辑器,本来是没有问题的,在我电脑上一切工作正常。但切换到移动端浏览器后,正则处理就报错:
Uncaught SyntaxError: Invalid regular expression:: Invalid group
搜索发现是移动端浏览器不支持(?<!exp),所以我将原代码:
h1: new RegExp("(?<![\\S])#{1} (.*)",'g')
替换为:
h1: new RegExp("(?=[\\s]?)#{1} (.*)",'g')
or
h1: new RegExp("(?:\\s?)#{1} (.*)",'g')
这样却导致了它匹配所有字符串而不管它是否是单独的一行
请问正确的解决方法应该是?
1
VDimos 2020-05-07 17:35:01 +08:00 via Android
断言支持参差不齐,建议别用断言。
如果不得不用,可以考虑使用第三方正则引擎,比如 XRegExp 这些提供正则现代语法完整支持的库 |
2
jinliming2 2020-05-07 23:11:46 +08:00
使用第三方库,比如 XRegExp 。
|