gpt4 book ai didi

python - 为什么正则表达式模式只在 Python 中不匹配?

转载 作者:太空宇宙 更新时间:2023-11-04 03:29:24 24 4
gpt4 key购买 nike

我在 notepad++ 和 python 正则表达式测试网站上测试了该模式,效果很好。但是在 python 中它不匹配。 regex.search 方法返回 None。

文字:

Û  Downloads      : 20314 times                                      
Û Language : English
Û Format : srt
Û Total : 1 subtitle file

图案:

^.{1,3}\s+(.*?):\s+(.*?)$

脚本:

 with open('file.txt','r',encoding='utf-8') as f:
string = f.read()
print(string)
pattern = r'^.{1,3}\s+(.*?):\s+(.*?)$'
regex = re.compile(pattern)
match = regex.search(string,re.UNICODE|re.M)
print( 'Matching "%s"' % pattern)
print (' ', match.group())
print (' ', match.groupdict())

最佳答案

您需要在 re.compile() 函数中应用标志,而不是在搜索中:

>>> regex = re.compile(pattern,re.U|re.M)
>>> regex.search(st)
<_sre.SRE_Match object at 0x7f367951b2d8>
>>> regex.search(st).group()
u'\u251c\xa2 Downloads : 20314 times

如果您在 re.search 中应用标志,它将返回 None :

>>> regex = re.compile(pattern)
>>> regex.search(st,re.U|re.M).group()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'group'

关于python - 为什么正则表达式模式只在 Python 中不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31684364/

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