当前位置: 首页 > 知识库问答 >
问题:

正则表达式:查找彼此之间10个单词以内的单词

蔺弘
2023-03-14

我在寻找单词“house”和“car”时有一个要求,但它们必须在10个单词之间。我有以下正则表达式

(\b(?=.*[a-zA-Z])(?i)car\b)|(\b(?=.*[a-zA-Z])(?i)house\b)

这适用于任何单词组合。但是,这并不满足“10字以内”的要求:

因此,以下内容将是一个很好的匹配:

car word1 word2 word3 word4 word5 word6 word7 word8 word9 word10 house
house word1 word2 word3 word4 word5 word6 word7 word8 word9 word10 car

但是,以下内容不应匹配:

house word1 word2 word3 word4 word5 word6 word7 word8 word9 word10 word 11 car

汽车文字1文字2文字3文字4文字5文字6文字7文字8文字9文字10文字11房屋

我怎样才能做到这一点?提前感谢。

共有3个答案

禄星腾
2023-03-14

为什么不试试:

(car( [^ ]*){1,10} house)|(house( [^ ]*){1,10} car)

看见https://regex101.com/r/rAu6Ku/1

钮兴安
2023-03-14

您可以使用这个/\b((?: house|car)\W(?:\w\W){0,5}?(?: house|car)|(?: house|car)\W(?:\w\W){0,10}?(?: house|car))\b\/g

参见示例

充培
2023-03-14

如果两个词都必须存在,但同一个词之间不匹配,则可以将捕获组用于house或car。

重复1-10次任何一个不以它们中的任何一个开头的单词,然后匹配其中任何一个单词,而不是使用否定前瞻的与组1相同的单词。

\b(house|car)(?: (?!(?:house|car)\b)\w+){1,10} (?!\1)(house|car)\b

解释

  • \b(house | car)一个单词边界,在组1中捕获house或car

如果单词也可以是直接跟在后面的单词,则可以将量词更改为{0,10},或者更改值以符合要求。

正则表达式演示

如果相同单词之间可以匹配:

\b(house|car)(?: (?!(?:house|car)\b)\w+){1,10} (house|car)\b

正则表达式演示

 类似资料:
  • 我需要一种使用RegEx搜索文本并在Latex命令中找到一个单词的方法(这意味着它在花括号内) 这是一个例子: 现在如果你搜索正则表达式:,并将其替换为< code>$1T~a~r~z~a~n$3 这将只替换花括号中的泰山这个词,而忽略另一个实例!这是我来的最远的地方。 现在我需要的是对下面的例子做同样的事情: 在这个例子中,我只需要最后提到的“泰山”被替换(\grk{}中的那个) 有人可以帮助我

  • 我有一篇很长的文章,还有一长串我想在这篇文章中找到的单词。 现在,为了搜索这些单词,我检查“正则表达式”,然后找到“word1 | word2 | word3 | word4…”问题是,如果其中一个单词是“eat”,那么包含“eat”的每个单词也会高亮显示。我怎样才能防止呢?

  • 本文向大家介绍正则表达式查找相似单词的方法,包括了正则表达式查找相似单词的方法的使用技巧和注意事项,需要的朋友参考一下 本文通过展示各种不同的正则表达式结构,以及在实际应用中会用到的技巧,熟悉掌握正则表达式的应用。 问题描述: 在这个实例中你要解决如下几个问题。 1、想要在一个字符串中找到所有的color和colour。 2、想要找到这3个以"at”结尾的单词中的任意一个:bat、cat或rat。

  • 我需要一个正则表达式来匹配以$开头的整个单词。表达式是什么,如何进行测试? 例子: 应提取此$word和$This。 在上面的句子中,可以找到和。

  • 如果我有一个字符串“word3 word2 word3 word4 word5 word3 word7 word8 word9 word10” 我想找到所有的“word3”,使其在“word5”的3个单词之内,我将得到与“word3”第二次和第三次出现的匹配 我会使用什么正则表达式或逻辑?我有两种方法,但它们对我来说效率太低了。

  • 问题内容: 我试图用Java写一个正则表达式来查找单引号之间的内容。可以帮我吗?我尝试了以下操作,但在某些情况下不起作用: 测试案例: “ Tumblr”是一个了不起的应用程序 预期输出: Tumblr 测试用例: Tumblr是一个了不起的“应用程序” 预期输出: 应用程序 测试用例: Tumblr是一个“惊人的”应用程序 预期输出: 惊人的 测试用例: Tumblr很棒而且令人惊讶 预期输出: