Python 提取模式匹配

问题描述

您需要从正则表达式中捕获。search对于模式,如果找到,使用 . 检索字符串group(index)。假设执行了有效的检查:

>>> p = re.compile("name (.*) is valid")
>>> result = p.search(s)
>>> result
<_sre.SRE_Match object at 0x10555e738>
>>> result.group(1)     # group(1) will return the 1st capture (stuff within the brackets).
                        # group(0) will returned the entire matched text.
'my_user_name'

解决方法

我正在尝试使用正则表达式来提取模式内的单词。

我有一些看起来像这样的字符串

someline abc
someother line
name my_user_name is valid
some more lines

我想提取单词my_user_name。我做类似的事情

import re
s = #that big string
p = re.compile("name .* is valid",re.flags)
p.match(s)  # this gives me <_sre.SRE_Match object at 0x026B6838>

我现在如何提取my_user_name