为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
绝地无双 2023-06-01 14:32:06
如果找到至少 2 个分组词,如何使量词仅匹配?我需要这个来匹配: ((?i:\bjack\b)|(?i:\bjill\b)|(?i:\bjohn\b)){2,}我需要这个不匹配:Match if >= 2 of the words are found, in any order and case我该怎么做呢?几个小时后,我厌倦了阅读正则表达式。谢谢!
查看完整描述

2 回答

?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

你可以这样做:


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.

或者,(\b(?i:jack|jill|john)\b.*){2,}做你想做的,我想。


查看完整回答
反对 回复 2023-06-01
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

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

将匹配

杰克和吉尔上山了

杰克和约翰相爱了

吉尔和约翰破坏了理想的家

但不是为了

约翰深知反乌托邦的愿景

杰克在吃洋葱


查看完整回答
反对 回复 2023-06-01
  • 2 回答
  • 0 关注
  • 91 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信