2016-11-28 95 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