我有像“5d4h2s”这样的字符串,我想从该字符串中得到 5、4 和 2,但我还想知道 5 与 d 配对,4 与 h 配对,等等。有没有一种简单的方法可以做到这一点而无需逐个字符地解析?
请您参考如下方法:
如果您的输入没有比 5d4h2s 更复杂:
>>> import re
>>> s = "5d4h2s"
>>> p = re.compile("([0-9])([a-z])")
>>> for m in p.findall(s):
... print m
...
('5', 'd')
('4', 'h')
('2', 's')
如果成功,您可以轻松调整正则表达式,例如
>>> p = re.compile("([0-9]*)([a-z])")
接受如下输入:
>>> s = "5d14h2s"
最后,您可以将正则表达式压缩为:
>>> p = re.compile("([\d]+)([dhms])")
