如何从匹配的表达式中找到特定的单词?

时间:2019-03-27 09:46:03

标签: python regex grouping

我在下面一行:

  

/开始测量MSM_Struct.ANYNAME“状态ASC”

,我想从该行中找出“ ANYNAME”。我尝试了以下表达式:

   _regex_struct = re.compile(r'/begin MEASUREMENT MSM_Struct.[\w]+')

使用'group(0)'给我下面的输出:

  

/开始测量MSM_Struct.ANYNAME

如何在输出中获取“ ANYNAME”?

1 个答案:

答案 0 :(得分:4)

您需要转义.(因为您需要匹配文字点,而不是任何字符),用捕获括号包装\w+(也请舍弃多余的[...] \w)并在m.group(1)中获取值。

_regex_struct = re.compile(r'/begin\s+MEASUREMENT MSM_Struct\.(\w+)') 
m = _regex_struct.search(s)
if m:
    print(m.group(1))

请参见regex demoPython demo

请注意,我使用\s+来匹配1个或多个空格而不是常规空格。