如何在2个其他单词之间找到超过3个字符的单词

时间:2013-01-16 20:57:53

标签: regex regex-lookarounds

我有两句话:

Today one dog will eat 2 kg of meats more than a cat
Human always prefer dog and cat

借助正则表达式:

  1. 我想在没有人的情况下找到有狗和猫的句子
  2. 我还需要在句子中找到超过3个字符的狗和猫之间的单词

1 个答案:

答案 0 :(得分:2)

假设您匹配的字符串包含一个句子:

"^(?!.*human)(?=.*dog)(?=.*cat)"
如果字符串包含dogcat但不包含human

将匹配。

对于你的第二个问题(在dogcat之间找到超过两个(!)字符的所有单词,你需要两个步骤(至少在Java中):

首先,使用正则表达式找到dogcat之间的字符串部分

"(?<=dog).*(?=cat)"

然后,在匹配结果中,使用正则表达式"\\w{3,}"查找长度为3或更长的所有字母数字字词。