这必须是比我遇到更容易。 我的问题是把一个字符串,如下所示:
ABC12DEF3G56HIJ7
成
12 * ABC
3 * DEF
56 * G
7 * HIJ
我不能,我用我的生命,设计出一套正确使用正则表达式匹配的循环。 问题的关键是,该代码必须是完全通用的,因为我不能假定多久[AZ]
片段会,也没怎么长[0-9]
片段会。
谢谢你的任何援助!
这必须是比我遇到更容易。 我的问题是把一个字符串,如下所示:
ABC12DEF3G56HIJ7
成
12 * ABC
3 * DEF
56 * G
7 * HIJ
我不能,我用我的生命,设计出一套正确使用正则表达式匹配的循环。 问题的关键是,该代码必须是完全通用的,因为我不能假定多久[AZ]
片段会,也没怎么长[0-9]
片段会。
谢谢你的任何援助!
Python的re.findall
应该为你工作。
现场演示
import re
s = "ABC12DEF3G56HIJ7"
pattern = re.compile(r'([A-Z]+)([0-9]+)')
for (letters, numbers) in re.findall(pattern, s):
print(numbers, '*', letters)
这是更好地使用re.finditer如果数据集较大:
import re
s = "ABC12DEF3G56HIJ7"
pattern = re.compile(r'([A-Z]+)([0-9]+)')
for m in re.finditer(pattern, s):
print m.group(2), '*', m.group(1)