gpt4 book ai didi

javascript - Javascript 正则表达式单词边界的细微差别?

转载 作者:行者123 更新时间:2023-12-03 05:00:40 25 4
gpt4 key购买 nike

测试字符串:

澳大利亚/澳大利亚和新西兰 1234

正则表达式:

\bAS\b

匹配:

AS

如果\b 是以下缩写:

(^\w|\w$|\W\w|\w\W)

为什么使用正则表达式:

(^\w|\w$|\W\w|\w\W)AS(^\w|\w$|\W\w|\w\W)

没有找到匹配项?

更新(基于评论中的问题)在提问之前我会尝试先解决自己的问题。在 https://regex101.com/ 测试正则表达式

我输入:

\bAS\b

解释(在右侧)表明它是以下内容的简写:

(^\w|\w$|\W\w|\w\W)AS(^\w|\w$|\W\w|\w\W)

当然,我很可能误解了这个解释。

最佳答案

词边界的定义没有细微差别。它的作用正是 documentation说是的。它是零宽度。因此,不能使用任何非零宽度的正则表达式构造来模拟或模仿它,如您的示例中所示。在您的示例中:

(^\w|\w$|\W\w|\w\W)AS(^\w|\w$|\W\w|\w\W)

与“AS/ANZ 1234”匹配时,开头的^\w将“吃掉”“A”,使其无法与“AS”匹配。下面的 \w\W 将“吃掉”“S”,同时使其无法与“S”匹配。

关于javascript - Javascript 正则表达式单词边界的细微差别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238927/

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