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

正则非贪婪正向后行断言匹配换行与等号间文本问题求助

正则调整方案

你遇到的问题核心原因有两个:

  • 原正则开头的后置断言加了?可选修饰,允许从文本起始位置开始匹配
  • 用.*?匹配内容时,如果开启了DOTALL(单行)模式,.会匹配换行符,导致内容跨行匹配到开头

调整后的正则如下:

(?<=\r\n)[^\r\n]*(?=\r\n=+)

如果需要兼容\n格式的换行(非Windows系统换行),可以用这个版本:

(?<=[\r\n])[^\r\n]*(?=[\r\n]=+)

调整说明

  • 把.*?替换为[^\r\n]*:严格限定只匹配不包含回车、换行的单行内容,就算开启了单行模式也不会出现跨行匹配的问题
  • 去掉了开头后置断言的?修饰:强制要求匹配内容的前一位必须是换行符,避免从文本开头直接开始匹配
  • 匹配逻辑会自动找到离连续=符号最近的上一行内容,不会回溯到文本开头

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:15:00