仅当两个以上的分组匹配时,如何使正则表达式匹配?

时间:2019-01-10 22:43:45

标签: regex go

如何才能使量词仅在找到至少两个分组词时才匹配?

我需要此匹配项: ((?i:\bjack\b)|(?i:\bjill\b)|(?i:\bjohn\b)){2,}

https://i.imgur.com/sM2ZhW9.png

我需要这个不匹配:

https://i.imgur.com/V5eHOYi.png

Match if >= 2 of the words are found, in any order and case

我该怎么做?几个小时后,我厌倦了阅读正则表达式。谢谢!

2 个答案:

答案 0 :(得分:0)

您可以这样做:

formValue.employee.toString().trim()

或者,re, _ := regexp.Compile(`\b(?i:jack|jill|john)\b`) ma := re.FindAllString("Jill is friends with John. But Jack doesn't know.", -1) if len(ma) < 2 //...then there aren't enough matches. 可以满足您的需求。

答案 1 :(得分:0)

((jack.*)|(john.*)|(jill.*)){2,}

将匹配

杰克和吉尔上山

杰克和约翰恋爱了

吉尔和约翰破坏了理想的住所

但不是

约翰对反乌托邦的看法很私密

杰克正在吃洋葱