我在寻找单词“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房屋
我怎样才能做到这一点?提前感谢。
为什么不试试:
(car( [^ ]*){1,10} house)|(house( [^ ]*){1,10} car)
看见https://regex101.com/r/rAu6Ku/1
您可以使用这个/\b((?: house|car)\W(?:\w\W){0,5}?(?: house|car)|(?: house|car)\W(?:\w\W){0,10}?(?: house|car))\b\/g
参见示例
如果两个词都必须存在,但同一个词之间不匹配,则可以将捕获组用于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很棒而且令人惊讶 预期输出: