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

PCRE正则捕获?31至可选?xx标签间内容的实现方案

解决PCRE正则捕获?31到下一个可选?xx标签间内容的问题

可以使用正向预查结合非贪婪匹配实现需求,对应的PCRE正则表达式为:

\?31(.*?)(?=\?\d{2}|$)

正则说明

  • \?31:匹配起始标签?31,用\转义问号避免被当作量词解析
  • (.*?):非贪婪模式匹配任意字符,直到触发后续终止条件
  • (?=\?\d{2}|$):正向预查,指定两种终止场景:
    • \?\d{2}:下一个?后跟两位数字的标签
    • $:字符串结尾(当没有后续?xx标签时)

测试验证

将该正则代入你的测试场景,结果如下:

输入捕获组结果状态
xxx?31testing1?32testing2testing1OK
xxx?31testing1 testing2testing1 testing2OK

完全覆盖两种需求场景:既有后续?xx标签时捕获中间内容,无后续标签时捕获?31之后的全部剩余内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:01:00