Yuu*_*shi 120
一个.在正则表达式是一个元字符,它是用来匹配任何字符.要匹配文字点,您需要将其转义,所以\.
Roh*_*ain 32
"\."你需要在你的"[.]"内部逃避或使用它\w+,因为它是正则表达式中的元字符,它匹配任何字符.
此外,您需要\w而不是test.this匹配一个或多个单词.
现在,如果你想要split内容,那就split不是你需要的了.test.this将你的字符串分开re.findall.例如: -
>>> re.split(r"\b\w+\.\w+@", s)
['blah blah blah ', 'gmail.com blah blah']
Run Code Online (Sandbox Code Playgroud)
你可以使用"\.": -
>>> re.findall(r'\w+[.]\w+(?=@)', s) # look ahead
['test.this']
>>> re.findall(r'(\w+[.]\w+)@', s) # capture group
['test.this']
Run Code Online (Sandbox Code Playgroud)
Sta*_*ser 12
"在默认模式下,Dot(.)匹配除换行符之外的任何字符.如果指定了DOTALL标志,则匹配包括换行符在内的任何字符." (python Doc)
所以,如果你想评估dot literaly,我认为你应该把它放在方括号中:
>>> p = re.compile(r'\b(\w+[.]\w+)')
>>> resp = p.search("blah blah blah test.this@gmail.com blah blah")
>>> resp.group()
'test.this'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
177697 次 |
| 最近记录: |