0

所以我想在字符串中找到字符串“to”,但前提是它是独立的。它可能在字符串的开头,如“to do this”,所以我无法搜索“to”。

我要做的是说,如果“to”后面有一个字符,它不能是\w。我怎么做?

4

2 回答 2

2

尝试单词边界。它匹配搜索模式的开头和结尾

\bto\b

这就是你想说的,即

那么 \b 匹配的到底是什么?正则表达式引擎不理解英语或任何语言,因此他们不知道单词边界是什么。\b 只匹配通常是单词一部分的字符(字母数字字符和下划线,将由 \w 匹配的文本)和其他任何字符(将由 \W 匹配的文本)之间的位置。

Sams 在 10 分钟内自学正则表达式 作者 Ben Forta

于 2012-01-26T20:59:03.693 回答
1

尝试使用\bto\b,它将to作为独立词匹配

这是一个很好的解释

有资格作为单词边界的三个不同位置:

  • 在字符串的第一个字符之前,如果第一个字符是单词字符。

  • 在字符串的最后一个字符之后,如果最后一个字符是单词字符。

  • 在字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符。

简单地说:\b允许您使用\bword\b. “单词字符”是可用于构成单词的字符。所有不是“单词字符”的字符都是“非单词字符”。

于 2012-01-26T20:59:51.950 回答