Python:re.search不起作用

时间:2015-11-18 10:27:07

标签: python python-2.7

这是我的榜样。我正在尝试搜索,但屏幕上没有任何内容。

DeltaE是第1组 TDMI^2是第2组 Intensity是第3组

#   DeltaE =     0.0000 | TDMI^2 =  5.657    , Intensity = 0.5604E+06
    match = re.search(r"DeltaE =\s+(\S+).* TDMI^2 =\s+(\S+).* Intensity =\s+(\S+)", line)   

1 个答案:

答案 0 :(得分:3)

请注意^是regex中的特殊字符,您必须按顺序对其进行转义以匹配文字carret符号。

re.search(r"DeltaE =\s+(\S+).* TDMI\^2 =\s+(\S+).* Intensity =\s+(\S+)", line)

示例:

>>> s = "DeltaE = 0.0000 | TDMI^2 = 5.657 , Intensity = 0.5604E+06"
>>> m = re.search(r"DeltaE =\s+(\S+).* TDMI\^2 =\s+(\S+).* Intensity =\s+(\S+)", s)
>>> m.group(1)
'0.0000'
>>> m.group(2)
'5.657'
>>> m.group(3)
'0.5604E+06'
>>> float(m.group(2))
5.657
>>> float(m.group(3))
560400.0
>>> float(m.group(1))
0.0