想知道是否有一個函式,例如match.groupdict()but that catch 重復類似于 'match.captures'函式
當我運行此代碼時:
test=regex.compile("(?P<a>a)*(?P<b>b)*(?P<c>c)*")
test.match("aabbbcc").groupdict()
我得到
{'a': 'a', 'b': 'b', 'c': 'c'}
我想要的是這樣的
{'a': ['a','a'], 'b': ['b','b','b'], 'c': ['c','c']}
有沒有這樣做的功能,還是我應該自己動手?
uj5u.com熱心網友回復:
您可以使用
import regex
test=regex.compile("(?P<a>a)*(?P<b>b)*(?P<c>c)*")
print ( test.match("aabbbcc").capturesdict() )
# => {'a': ['a', 'a'], 'b': ['b', 'b', 'b'], 'c': ['c', 'c']}
或者,如果您需要將整個字串與此模式匹配,請替換.match為.fullmatch:
test.fullmatch("aabbbcc").capturesdict()
請參閱Python 演示。
請參閱PyPi 正則運算式模塊檔案:
capturesdict回傳命名組的字典和這些組的所有捕獲的串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/396622.html
標籤:Python 正则表达式 正则表达式组 蟒蛇正则表达式
