You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python正则表达式如何排除含问号的字符串,匹配无?的带/l/的链接?

问题原因分析

你写的正则没有限定匹配完整的链接字符串,仅会匹配/l/之后到第一个问号之前的内容,所以即使链接整体带问号,也会命中局部匹配规则,导致你误以为匹配到了带问号的链接。

可行解决方案

因为你已经提前筛选出了所有HTTP链接,直接使用以下正则即可匹配同时包含/l/、且整个链接无问号的完整URL:

import re
pattern = re.compile(r'^[^?]*/l/[^?]*$')

规则说明:

  • ^ 匹配链接字符串的开头
  • [^?]* 匹配0个或多个非问号的字符,确保/l/前后都不会出现问号
  • /l/ 匹配你要求必须存在的路径片段
  • $ 匹配链接字符串的结尾,确保规则校验覆盖整个完整链接

如果需要同时校验HTTP/HTTPS前缀,可以使用带前缀校验的版本:

pattern = re.compile(r'^https?://[^?]*/l/[^?]*$')

测试效果

  • 匹配通过的链接示例:https://www.example.com/l/article、https://test.com/path/l/resource
  • 匹配失败的链接示例:https://www.example.com/?var=yes、https://test.com/l/page?a=123、https://test.com/nol/path

内容的提问来源于stack exchange,提问作者Gustavo Kotelchuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:54:03