gpt4 book ai didi

regex - JavaScript RegEx,与 OR 的零长度匹配(向前和向后看,也许)

转载 作者:行者123 更新时间:2023-12-04 05:40:27 26 4
gpt4 key购买 nike

我有这个正则表达式 /\b\d\b/ , 简单地匹配单个数字单词。

现在我想添加下划线字符作为单词边界的替代,所以我想匹配 "_1_" 中的数字同样,同时将下划线保持为零长度匹配(如在\b 中,所以我不想要匹配中的 _)。

我在使用捕获组的情况下并不理想。

我尝试了一些积极的前瞻/后视技巧,前瞻似乎有效,而后视却没有。尝试做可选的前瞻/后视,并做类似 _|\b 的事情,但我找不到理想的解决方案。

由于对高级 RegEx 技巧不太了解,我想我会在使用 2 个 RegEx 之前先问一下:)

这将在 JavaScript 中执行。

最佳答案

(?<=\b|_)\d(?=\b|_)

(?<=    # Positive look-behind
\b # Word boundary
| # Or
_ # Underscore
) # End group
\d # Digit
(?= # Positive look-ahead
\b|_) # Word boundary or underscore

它将匹配您的单个数字,并将使用单词边界( \b )或下划线( _ )进行匹配。

这是零长度,所以它不会组合出它匹配的数字。

Play with the regex here .

关于regex - JavaScript RegEx,与 OR 的零长度匹配(向前和向后看,也许),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11315480/

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