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

正则匹配排除末尾指定字符 提取HTML页面中符合规则的数字序列

正则调整方案

你之前使用的正则存在两个核心问题:

  • 用$锚定了行尾,只能匹配数字处于整行最末尾的场景,无法匹配数字后接<br>这类非行尾内容的条目
  • 负向后顾的写法逻辑不符合排除数字后接#的需求

调整后的正则

: (\d{4,9})(?![#\d])

规则说明

  • : 匹配目标数字前的固定前缀
  • (\d{4,9}) 捕获符合长度要求的4-9位连续数字,作为提取结果
  • (?![#\d]) 负向前瞻约束:捕获的数字后不能紧跟#或者其他数字,既避免截断更长的数字串,也实现了排除末尾带#条目的需求,数字后接换行、HTML标签等其他非#内容均可正常匹配

调用示例

import re

input_str = """test: 11111###
test: 222222
test: 3333333<br>"""

res = re.findall(r': (\d{4,9})(?![#\d])', input_str)
print(res) # 输出:['222222', '3333333']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 11:36:04