正则表达式条件lookbehind字符匹配

时间:2012-01-26 20:57:13

标签: regex conditional lookbehind

所以我想在字符串中找到字符串“to”,但仅限于它是独立的。它可以在字符串的开头,如“to do this”,所以我不能搜索“to”。

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

2 个答案:

答案 0 :(得分:2)

尝试使用单词boudaries。它匹配搜索模式的开头和结尾

\bto\b

这是你想要说的,即

  

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

Sams在10分钟内教导你自己的正则表达式 作者Ben Forta

答案 1 :(得分:1)

尝试使用\bto\bto作为独立单词

Here's a good explanation

  

有三种不同的职位符合词边界:

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

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

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

简单地说:\b允许您执行“仅限全字”搜索   使用\bword\b形式的正则表达式。一个字   字符“是一个可以用来形成单词的字符。全部   不是“单词字符”的字符是“非单词字符”。