0

我有一个变量说q

q="today(Thursday)^05^*07*[2012]"

有没有办法分别提取Thursday, 05, 07, 2012

4

4 回答 4

3

尝试

q = "today(Thursday)^05^*07*[2012]"
import re
print re.findall(r'\w+', q) # ['today', 'Thursday', '05', '07', '2012']
于 2012-07-05T12:24:34.877 回答
2

另一种选择(虽然我更喜欢@thg435 解决方案):

r=re.split('[\^*()[\]]', q) #['today', 'Thursday', '', '05', '', '07', '', '2012', '']

然后

r[1::2]

产量

['Thursday', '05', '07', '2012']

旁白:有谁知道为什么我得到交错的空字符串?很容易解决,但最好一开始就没有它们。

于 2012-07-05T12:49:00.503 回答
0

使用这个正则表达式:

(?<=\()(.+)(?=\))|(?<=\^)(.+)(?=\^)|(?<=\*)(.+)(?=\*)|(?<=\[)(.+)(?=\])
于 2012-07-05T12:26:57.023 回答
0

使用字符串分隔符。

string.split[^*]等等

于 2012-07-05T12:28:07.377 回答