从字符串中提取几个子字符串的方法?

时间:2012-07-05 12:23:07

标签: python regex

我有一个变量说q

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

有没有办法分别提取Thursday05072012

4 个答案:

答案 0 :(得分:3)

尝试

q = "today(Thursday)^05^*07*[2012]"
import re
print re.findall(r'\w+', q) # ['today', 'Thursday', '05', '07', '2012']

答案 1 :(得分:2)

另一种选择(虽然我更喜欢@thg435 solution):

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

然后

r[1::2]

产量

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

除了:有谁知道为什么我得到交错的空字符串?容易解决,但最好不要在第一时间使用它们。

答案 2 :(得分:0)

使用此正则表达式:

(?<=\()(.+)(?=\))|(?<=\^)(.+)(?=\^)|(?<=\*)(.+)(?=\*)|(?<=\[)(.+)(?=\])

答案 3 :(得分:0)

使用字符串分隔符。

string.split[^*]等。