我觉得有点蠢,但没用:
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'
如果用户给定的a
是unicode,我就有ur'
。如果wekjb
或ABB
在字符串中,我想打印成功,但是我总是得到None
作为match
的结果。
^{} 隐式定位到字符串的开头。如果要在字符串中搜索可以位于其中任何位置的子字符串,则需要使用^{} :
输出:
另外,Python正则表达式不需要在开始和结束处有一个
/
。最后,我将
.group()
添加到print
行的末尾,因为我认为这是您想要的。否则,您将得到类似<_sre.SRE_Match object at 0x01812220>
的内容,这并不太有用。因为
match
方法返回None
如果它找不到预期的模式,如果它找到模式,它将返回类型为_sre.SRE_match
的对象。所以,如果你想从
match
得到布尔值(True
或False
),你必须检查结果是否是None
!你可以检查文本是否匹配如下:
相关问题 更多 >
编程相关推荐