Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java\bword\B中的正则表达式哪个元字符获胜?_Java_Regex_Word Boundary - Fatal编程技术网

java\bword\B中的正则表达式哪个元字符获胜?

java\bword\B中的正则表达式哪个元字符获胜?,java,regex,word-boundary,Java,Regex,Word Boundary,我知道\bword\B的行为类似于在Java中使用regex的word\B。(在匹配引擎方面) 为什么可能呢?如果它是en异常(语法异常),不是更合理吗? 此外,oracle在教程中也将其用作解释性示例(\bdog\B)。 如果你不知道答案,请不要回答。 提前感谢。\B是\B的否定版本\B在\B不匹配的每个位置匹配。实际上,\B在两个单词字符之间的任何位置以及两个非单词字符之间的任何位置进行匹配 \b允许您使用\bword\b格式的正则表达式执行“仅整词”搜索。“单词字符”是可以用来构成单词的字

我知道
\bword\B
的行为类似于在Java中使用regex的
word\B
。(在匹配引擎方面)

为什么可能呢?如果它是en异常(语法异常),不是更合理吗? 此外,oracle在教程中也将其用作解释性示例(
\bdog\B
)。 如果你不知道答案,请不要回答。
提前感谢。

\B
\B
的否定版本<代码>\B在
\B
不匹配的每个位置匹配。实际上,
\B
在两个单词字符之间的任何位置以及两个非单词字符之间的任何位置进行匹配

\b
允许您使用
\bword\b
格式的正则表达式执行“仅整词”搜索。“单词字符”是可以用来构成单词的字符。所有不是“文字字符”的字符都是“非文字字符”。更确切地说,
\b
在字母数字序列前后匹配


上面是从

在您的
\bdog\B
示例中,它将匹配“doggie”,因为您要求它匹配单词和部分单词

\bdog\b
将在“doggie”上失败,因为“dog”是整个单词,而“doggie”中的“dog”是部分单词

它是有条件的,取决于它接触到的东西

此外,
dog\B
将匹配短语“我有一只小狗”中的“dog”

dog\b
将匹配短语“我有一只狗”中的“dog”

dog\B
与短语“我有一只狗”中的“dog”不匹配

\bdog\b
与短语“我有狗”中的“狗”不匹配

但是
\Bdog\b
将匹配短语“我有一只狗”中的“狗”


这个答案提供了一个答案。

你用蜂蜜抓的苍蝇比用醋抓的多得多。你为什么认为
\bword\B
的行为像
word\B
?我不相信。你有什么证据证明这一点?@0A0D漂亮的评论@波希米亚语\B单词\B与单个单词“word”不匹配,但与“wordy”匹配。试试看。@Eugene是的,很漂亮,但错了。它不是那样工作的,请尝试一下“\bword\B”的行为与“word\B”完全相同