gpt4 book ai didi

python - Re.match() 总是返回 none

转载 作者:太空狗 更新时间:2023-10-29 22:03:37 24 4
gpt4 key购买 nike

我觉得有点傻,但它不起作用:

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'。如果 wekjbABB 在字符串中,我想打印成功,但我总是得到 None 作为 match .

最佳答案

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'

输出:

wekjb
success

此外,Python 正则表达式不需要 /在开始和结束。

最后,我添加了 .group()print 的结尾行,因为我认为这就是你想要的。否则,你会得到类似 <_sre.SRE_Match object at 0x01812220> 的东西,这不是很有用。

关于python - Re.match() 总是返回 none,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19871253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com