2

我正在尝试使用正则表达式搜索 2 个完整单词之间的内容。例如:

所有的女孩都去了城里的商场。

在上面的字符串中,我想找到单词all和之间的内容to

(?<=all).*?(?=to)/g

但是,它找到了两个匹配项,因为没有指示表达式仅在整个单词之间进行搜索:

" the girls went " //between all and to
" in " //between m(all) and (to)wn

我曾想过在表达式中添加空格,如下所示:

(?<= all ).*?(?= to )/g

但这在上面的字符串中不起作用,因为all它是句子的第一个单词。

如何编写表达式,以便它仅在 2 个完整单词之间找到所有适当的内容,而没有部分单词匹配,如示例中所示?

4

1 回答 1

3

添加单词边界

(?<=\ball\b).*?(?=\bto\b)

\b 是一个无宽度的单词边界。它匹配单词的开头或结尾(当然由正则表达式定义)

于 2011-05-21T02:44:14.133 回答