Anu*_*ani 2 python regex grouping
我有以下几行:
/begin MEASUREMENT MSM_Struct.ANYNAME"Status ASC"
Run Code Online (Sandbox Code Playgroud)
我想ANYNAME从线路中找出来。我尝试了以下表达式:
_regex_struct = re.compile(r'/begin MEASUREMENT MSM_Struct.[\w]+')
Run Code Online (Sandbox Code Playgroud)
使用group(0)给了我这个输出:
/begin MEASUREMENT MSM_Struct.ANYNAME
Run Code Online (Sandbox Code Playgroud)
如何进入ANYNAME输出?
你需要转义.(因为你需要匹配一个文字点,而不是任何字符),\w+用捕获括号括起来(也去掉多余的[...]round \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))
Run Code Online (Sandbox Code Playgroud)
注意我曾经\s+匹配 1 个或多个空格而不是常规空格。