鑑於串s = '(A /something_1)(B /something_2)(C /something_3),/,(D /something_4)(D /something_5)'
蟒蛇正則表達式分組
我想獲得這個輸出:(C /something_3),/,(D /something_4)(D /something_5)
我把匹配整個字符串s,而不是讓上述子。
我使用re.search(r'(\(C.*\)),/,(\(D.*\))+')
任何幫助表示讚賞...
鑑於串s = '(A /something_1)(B /something_2)(C /something_3),/,(D /something_4)(D /something_5)'
蟒蛇正則表達式分組
我想獲得這個輸出:(C /something_3),/,(D /something_4)(D /something_5)
我把匹配整個字符串s,而不是讓上述子。
我使用re.search(r'(\(C.*\)),/,(\(D.*\))+')
任何幫助表示讚賞...
你只是那裏 - re.search(r'(\(C.*\)),/,(\(D.*\))+', s).group()
會得到你想要的東西。
>>> import re
>>> s = '(A /something_1)(B /something_2)(C /something_3),/,(D /something_4)(D /something_5)'
>>> re.search(r'(\(C.*\)),/,(\(D.*\))+', s).group()
'(C /something_3),/,(D /something_4)(D /something_5)'
想要進一步分組嗎?
使用Python 2.7,我得到確切的結果你後:
import re
s = '(A /something_1)(B /something_2)(C /something_3),/,(D /something_4)(D /something_5)'
m = re.search(r'(\(C.*\)),/,(\(D.*\))+', s)
s[m.start():m.end()] == '(C /something_3),/,(D /something_4)(D /something_5)'