查找以单词开头的字符串,以与正则表达式相同的行结尾

时间:2013-06-01 12:05:16

标签: regex

你能帮我找到文本文件中的字符串模式吗?我的意思是,例如,我有一个文件:

The model of operation is that an internet module resides in each host
engaged in internet communication and in each gateway that
interconnects networks.

我想找到以单词model开头的字符串,并在第一行的单词each结束,该怎么做? 我曾试过*.each但它没有找到我想要的东西。

3 个答案:

答案 0 :(得分:1)

\bmodel\b.*\beach\b

\b是一个单词边界。如果前面的字符与\W匹配,匹配\w后匹配,则匹配。

答案 1 :(得分:1)

以下内容应与您的需求相匹配

\<model.*each\>

由于我们使用的是单词\<的开头,因此它与supermodel之类的字符串不匹配,因为我们以字边界结束,所以它不会匹配beachbum之类的字符串< / p>

答案 2 :(得分:1)

这里的关键是使用非贪婪的表达式.*?

(?<=\bmodel\b).*?(?=\beach\b)

非贪婪表达式确保匹配与第二行中each的所有内容都不匹配。

已经使用了环绕声断言开始和结束标准,没有消耗它们,这意味着您不需要任何分组来提取目标文本 - 整个表达式目标文字。