gpt4 book ai didi

javascript - JS - 正面展望和行尾

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:59:24 25 4
gpt4 key购买 nike

为什么第一个测试失败了?

/^[ab](?=[cd])$/.test('ac') // => false

/^[ab](?=[cd])/.test('ac') // => true

只有字符串 'ac'、'ad'、'bc' 和 'bd' 应该通过。

没有其他字符串,如“ac bd”或“acbd”。

但是,使用 $ 对第一个正则表达式没有帮助,而第二个正则表达式也将通过 'acbd' 之类的字符串。

最佳答案

您需要了解前瞻的工作原理。

(?=[cd])$ positive 前瞻检查以下字符是否与前瞻之后的模式匹配(在您的情况下,字符串的结尾)。字符串的结尾不是c 也不是d。因此,没有匹配项。

您需要将 $ 放入 look-ahead 以使其匹配 a:

^[ab](?=[cd]$)

参见 demo on Regex101.com

Regular expression visualization

Debuggex Demo

关于javascript - JS - 正面展望和行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30592741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com