V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mashirozx
V2EX  ›  正则表达式

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

  •  
  •   mashirozx · 2022-11-24 22:50:14 +08:00 · 782 次点击
    这是一个创建于 748 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    如下是我的正则:

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

    期望的效果如图:

    cc89c06c94b73a4b3b7956c0825a4654.png

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

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

    mashirozx
        1
    mashirozx  
    OP
       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])
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2772 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:18 · PVG 21:18 · LAX 05:18 · JFK 08:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.