我觉得有点愚蠢,但它不起作用:
import re
a = " ebrj wjrbw erjwek wekjb rjERJK ABB RAEJKE BWE RWEJBEWJ B KREWBJ BWERBJ32J3B23B J BJ235JK BJJ523 2"
print re.match(ur'/(wekjb|ABB)/',a)
if re.match(ur'/(wekjb|ABB)/',a):
print 'success'
Run Code Online (Sandbox Code Playgroud)
我有ur'用户给出的a是unicode.我想打印成功,如果wekjb或ABB在字符串中,但我总是得到None的结果match.
iCo*_*dez 21
re.match隐含地锚定到字符串的开头.如果要在字符串中搜索可以在其中的任何位置的子字符串,则需要使用re.search:
import re
a = " ebrj wjrbw erjwek wekjb rjERJK ABB RAEJKE BWE RWEJBEWJ B KREWBJ BWERBJ32J3B23B J BJ235JK BJJ523 2"
print re.search(ur'(wekjb|ABB)',a).group()
if re.search(ur'(wekjb|ABB)',a):
print 'success'
Run Code Online (Sandbox Code Playgroud)
输出:
wekjb
success
Run Code Online (Sandbox Code Playgroud)
此外,Python Regexes不需要/在开头和结尾都有.
最后,我添加.group()到行尾,print因为我认为这就是你想要的.否则,你会得到一些<_sre.SRE_Match object at 0x01812220>不太有用的东西.
| 归档时间: |
|
| 查看次数: |
10787 次 |
| 最近记录: |