所以我想在字符串中找到字符串“to”,但仅限于它是独立的。它可以在字符串的开头,如“to do this”,所以我不能搜索“to”。
我想要做的是说,如果“to”背后有一个字符,则不能是\ w。我该怎么做?
答案 0 :(得分:2)
尝试使用单词boudaries。它匹配搜索模式的开头和结尾
\bto\b
这是你想要说的,即
那究竟是什么\ b匹配?正则表达式引擎不理解英语或任何语言,因此他们不知道边界是什么。 \ b只是匹配字符之间的位置,这些字符通常是单词的一部分(字母数字字符和下划线,将与\ w匹配的文本)和其他任何内容(与\ W匹配的文本)。
Sams在10分钟内教导你自己的正则表达式 作者Ben Forta
答案 1 :(得分:1)
尝试使用\bto\b
,to
作为独立单词
有三种不同的职位符合词边界:
在字符串中的第一个字符之前,如果第一个字符是单词字符。
在字符串中的最后一个字符后,如果最后一个字符是单词字符。
- 字符串中的两个字符之间,其中一个是单词字符,另一个不是单词字符。
简单地说:
\b
允许您执行“仅限全字”搜索 使用\bword\b
形式的正则表达式。一个字 字符“是一个可以用来形成单词的字符。全部 不是“单词字符”的字符是“非单词字符”。