我有这个简单的代码:
print( re.split(' |,', '156 for 23,5 or 15') )
# ['156', 'for', '23', '5', 'or', '15']
问题是如何将数字作为整数返回,将文本作为字符串返回(已经是)...所以改为:
# [156, 'for', 23, 5, 'or', 15]
答案 0 :(得分:2)
使用正则表达式,你不能。
但是,您可以使用list comprehension,conditional expression和str.isdigit
:
>>> import re
>>> [int(x) if x.isdigit() else x for x in re.split(' |,', '156 for 23,5 or 15')]
[156, 'for', 23, 5, 'or', 15]
>>>