私は変数を言う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[^*]
等