首页 > 解决方案 > 使用正则表达式解析python字符串

问题描述

我可以用这个得到数字:

>>> import re
>>> re.findall(r'\d+', '!"123%&654()')
['123', '654']

我怎样才能得到所有的组件?

['!"', '123', '%&', '654', '()']

标签: pythonregexstring

解决方案


作为参考,findall你会贪婪地只寻找数字,或者只寻找非数字:

re.findall(r'\d+|\D+', '!"123%&654()')
# ['!"', '123', '%&', '654', '()']

split干净一点。


推荐阅读