Regex在在线Regex解释器中匹配,但在python中不匹配

2024-06-12 15:23:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试一个来自页面源代码的regex模式,它在regex在线编辑器中运行良好,但是当我在笔记本中尝试时,我没有找到任何匹配

here is my regex

http://www.yifysubtitles.com/subtitle/.+zip

它在联机编辑器中正常工作:

image

但不是jupyter笔记本:

image

我缺少什么,请帮忙。你知道吗


参考文本:

...    
[DOWNLOAD SUBTITLE](http://www.yifysubtitles.com/subtitle/blockers2018web-
dlx264-fgt-english-128543.zip)
...

Tags: comhttphere源代码ismywww模式
1条回答
网友
1楼 · 发布于 2024-06-12 15:23:42

搜索字符串跨越多行。要跨行匹配(在python中,默认情况下不会这样做),请将re.DOTALL标志添加到re.search调用中:

>>> p = r'http://www\.yifysubtitles\.com/subtitle/[^.]+\.zip'  # improved, ty @dawg
>>> re.search(p, text, flags=re.DOTALL)
<_sre.SRE_Match object; span=(481, 565), match='http://www.yifysubtitles.com/subtitle/blockers201>

另外,别忘了转义文字.字符,如果它们没有转义,它们就不会得到相同的处理(.如果没有转义,将匹配任何字符。你知道吗

相关问题 更多 >