我有一个变量说q
q="today(Thursday)^05^*07*[2012]"
有没有办法分别提取Thursday
, 05
, 07
, 2012
?
尝试
q = "today(Thursday)^05^*07*[2012]"
import re
print re.findall(r'\w+', q) # ['today', 'Thursday', '05', '07', '2012']
另一种选择(虽然我更喜欢@thg435 解决方案):
r=re.split('[\^*()[\]]', q) #['today', 'Thursday', '', '05', '', '07', '', '2012', '']
然后
r[1::2]
产量
['Thursday', '05', '07', '2012']
旁白:有谁知道为什么我得到交错的空字符串?很容易解决,但最好一开始就没有它们。
使用这个正则表达式:
(?<=\()(.+)(?=\))|(?<=\^)(.+)(?=\^)|(?<=\*)(.+)(?=\*)|(?<=\[)(.+)(?=\])
使用字符串分隔符。
string.split[^*]
等等