Safari 上不支持向后匹配的正则表达式,请教替代方法

2022-11-24 22:50:14 +08:00
 mashirozx

如下正则,在 Chrome 上 OK ,但是 Safari 上报 Invalid regular expression,看了一下原因是 Safari 不支持向后匹配 ((?<!),见 can i use

如下是我的正则:

/(?<!\/.*?)showLineNumbers(?:\{(\d+)})?/

期望的效果如图:

求一个不使用向后匹配表达式((?<!)的替代方法 🙏

PS. 这个正则工具挺好用的: https://regex101.com

790 次点击
所在节点    正则表达式
1 条回复
mashirozx
2022-11-24 23:49:42 +08:00
已解决,自问自答:

export const reverseString = s => s?.split('').reverse().join('');

const match = reverseString(meta).match(
/(?:\}(\d+){)?srebmuNeniLwohs(?!(.*)(\/))/
)

reverseString(match[1])

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/897723

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX