gpt4 book ai didi

regex - 正则表达式中\b和\B之间的区别

转载 作者:行者123 更新时间:2023-12-03 04:57:24 25 4
gpt4 key购买 nike

我正在读一本关于正则表达式的书,我遇到了 \b 的这个示例:

The cat scattered his food all over the room.

使用正则表达式 - \bcat\b 将匹配单词 cat,但不匹配 scattered 中的 cat

对于\B,作者使用以下示例:

Please enter the nine-digit id as it

appears on your color - coded pass-key.

使用正则表达式 \B-\B 匹配单词 color - coded 之间的 -。另一方面,使用 \b-\bnine-digitpass-key 中的 - 匹配。

为什么在第一个示例中我们使用 \b 来分隔 cat 而在第二个示例中使用 \B 来分隔 - ?在第二个示例中使用 \b 的作用与之前的作用相反。

请向我解释一下其中的区别。

编辑:另外,有人可以用一个新的例子来解释一下吗?

最佳答案

困惑源于你的思维\b匹配空格(可能是因为“b”暗示“空白”)。

\b匹配单词开头或结尾处的空字符串。 \B匹配不在单词开头或结尾的空字符串。这里的关键是“-”不是单词的一部分。所以<left>-<right>匹配\b-\b因为 - 的两侧都有单词边界。另一方面对于<left> - <right> (注意空格),破折号两侧没有单词边界。单词边界向左和向右各一格。

另一方面,当搜索\bcat\b时单词边界表现得更直观,它符合预期的“cat ”。

关于regex - 正则表达式中\b和\B之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664151/

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