我似乎無法創建正確的正則表達式從我的字符串中提取正確的標記。填充字符串的開頭使用一個空間中產生正確的輸出,但似乎不太理想:正則表達式來解析Python中的選項字符串
>>> import re
>>> s = '-edge_0triggered a-b | -level_Sensitive c-d | a-b-c'
>>> re.findall(r'\W(-[\w_]+)',' '+s)
['-edge_0triggered', '-level_Sensitive'] # correct output
這裏有一些正則表達式我試過的,沒有任何人有一個正則表達式的建議,不涉及改變原來的字符串,併產生正確的輸出
>>> re.findall(r'(-[\w_]+)',s)
['-edge_0triggered', '-b', '-level_Sensitive', '-d', '-b', '-c']
>>> re.findall(r'\W(-[\w_]+)',s)
['-level_Sensitive']
非常感謝,馬克。你會得到支票,但我會用Ignacio的解決方案,因爲它更短。 – dlw 2010-06-11 01:35:33
@dlw:你似乎對檢查的含義感到困惑。這並不意味着「這個答案是最快的答案」,這意味着「這就是我要使用的答案」。你應該檢查Ignacio的答案。 – tzot 2010-06-11 09:43:35
對不起馬克,支票去伊格納西奧 – dlw 2010-08-26 01:20:27