我正在尝试使用正则表达式来提取模式内的单词。
我有一些看起来像这样的字符串
someline abc someother line name my_user_name is valid some more lines
我想提取单词my_user_name。我做类似的事情
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?
您需要从正则表达式中捕获。search对于模式,如果找到,使用 . 检索字符串group(index)。假设执行了有效的检查:
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'