我需要有关正则表达式的帮助。
line = "nadya carson nadya@gmail.com wxwwwgg 1235454 wmsiqrr 9gag2cm 9.9%"
在上面的示例中,我需要像上面的一行,我需要在电子邮件后提取字符串, wxwwwgg ' 。字符串恰好在电子邮件之后和数字之前。
我试过了:
>>> a = re.search(r'\s\w+\s\d',line)
>>> a
<_sre.SRE_Match object at 0x0271F640>
>>> a.group()
' wxwwwgg 1'
我有什么方法可以省略我的matchgroup中的数字字符。在上面的示例中,我只能获得&#39; wxwwwgg&#39;借助正则表达式中使用的任何搜索模式而不是r'\s\w+\s\d'
谢谢!
答案 0 :(得分:1)
使用lookaround assertions。他们确保当前位置的(子)匹配可能,而不会使这些子匹配成为实际匹配的一部分:
a = re.search(r'(?<=\s)\w+(?=\s\d)', line)