.Net正则表达式匹配模式“;aebecea";/&引用;aebeceb";/&引用;aebecec";/&引用;beceaec“;
我有.Net正则表达式([abc][e])+([abc]),但当我尝试匹配时,它只匹配少数字符,而不匹配组中的整个字符串 这是我的输入和所需的输出组.Net正则表达式匹配模式“;aebecea";/&引用;aebeceb";/&引用;aebecec";/&引用;beceaec“;,.net,regex,.net,Regex,我有.Net正则表达式([abc][e])+([abc]),但当我尝试匹配时,它只匹配少数字符,而不匹配组中的整个字符串 这是我的输入和所需的输出组 aebeceaxyz-第1组(aebece),第2组(a) AEBECBXYZ-第1组(aebece),第2组(b) AEBECCXYZ-第1组(aebece),第2组(c) beceaecxyz-第1组(beceae),第2组(c) 在我的正则表达式中,我得到的结果是(ce)(a)/(ce)(b)/(ce)(c)/(ae)(/c),这不是我想
- aebeceaxyz-第1组(aebece),第2组(a)
- AEBECBXYZ-第1组(aebece),第2组(b)
- AEBECCXYZ-第1组(aebece),第2组(c)
- beceaecxyz-第1组(beceae),第2组(c)
([abce]{5}[e])+([abc])
您尝试的正则表达式没有指定第一组中的重复次数
你也可以只使用
([abce]{6})+([abc])
,除非你真的想确保第一个组以“e”结尾。你可以使用([abc][e])。([abc])也许?你在第一个组中获得了[abc][e]的第一个匹配项,但是你想在你捕获的整个组中包含一些参数。此外,还可以使用?:使内部组不被捕获。这将给出您想要的结果:
((?:[abc][e])+)([abc])
你想要什么?我无法理解您的逻辑,.*语法很贪婪,只会捕获字符串的其余部分,只留下一组2个字母。我相信他正在尝试这样做,这样他就不必指定第一组中的重复次数,在这种情况下,我的答案应该可以做到。好的一点,这将使您获得正确的匹配,但它假定您的输入与您提到的模式一致。