如何使用python如何在regexp中获得每个组的重复次数,并获得此组的列表?
例如:字符串(ab)*.*?(cd)*
上的此正则表达式ababababcdcddscdcdfscdcd
应该为第一个组返回4
,因为ab
在字符串中存在4次。并为第二组返回6
,因为cd
在字符串中存在6次。
此功能或其他功能也应返回组列表和该行的另一部分。对于此字符串,它必须以[ab,ab,ab,ab,cd,cd,ds,cd,cd,fs,cd,cd]
列出。我尝试使用匹配对象,但是找不到找到每个组重复次数的方法。
非常感谢大家的帮助。
[量化捕获组时,它仅捕获第一个匹配项,而不是所有匹配项,因此您无法获得[ab, ab, ab, ab, ...]
。
您将量词放在了一个组内,以便所有重复都被立即捕获。
((ab)*).*?((cd)*)
捕获组将是:
["abababab", "ab", "cdcdcdcdcdcd", "cd"]
您可以将偶数元素的长度除以下一个元素的长度以获得重复数。