2016-11-28 100 views
0

如何可以混合字符表達等之後用grep的值:使用正則表達式蟒正則表達式匹配「E(RHF)=」

E(XXX) = -305.5 

for line in f: 
    if (re.findall(r"E\(.{3}\) = -\d*\.\d*", line)): 
    print(line) 
+2

WHST你說的「整個表達式」是什麼意思?到行的末尾?如果該行出現,那麼該行是否以'#'-Symbol開頭? – sebastian

+0

您是否在#後嘗試了整個表達式的正則表達式?第二個表達式不起作用,你期待什麼? – depperm

+0

@depperm nope給出的表達式不起作用:(我不知道爲什麼 – donaldducksdaughter

回答

0

問題是某些標點符號是特定於正則表達式的。例如,"."匹配任何內容,並且"("是正則表達式組的開始。爲了避免這種情況,請向它們添加反斜槓,如"\.""\("。你可以嘗試這樣的事:

import re 

re.findall(r"E\(.{3}\) = -\d*\.\d*", test_string) 

而對於主題標籤:

re.findall(r"# .*", test_string) 
+0

請澄清輸入和期望的輸出,它會幫助我幫助你。 – internetional