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

如何仅匹配“A = *”行前的换行符?正则表达式技术求助

正则匹配“A = *”行前的换行符(单组匹配)

你的文件内容示例:

A = 1
B = 2
C = 3
A = 10
B = 20
C = 30

完全可以用后向查找结合断言实现,不过更简洁的方式是用正向先行断言直接匹配目标换行符,且无需额外分组,匹配结果就是你要的换行符本身:

方案1:正向先行断言(直接匹配目标换行符)

正则表达式:

\n(?=A = )

这个表达式会匹配所有后面紧跟“A = ”开头行的换行符,也就是第二个“A = 10”行上方的那个换行符,完全符合你的需求,且匹配结果就是换行符本身,不需要分组提取。

方案2:后向查找实现

如果一定要用后向查找,可以结合后向肯定查找和正向断言,确保匹配的换行符前面有非空内容(避免匹配文件开头的空行,当然你的场景里第一个A行上方没有换行符,也不会触发):

(?<=\S.*)\n(?=A = )

这里(?<=\S.*)是后向查找,确保换行符前面有至少一个非空白字符加任意内容,再结合(?=A = )正向断言限定后面是“A = ”行,最终匹配的还是目标换行符。

两种方案都能直接得到你需要的换行符,无需访问多组,且第一个“A = 1”行上方无换行符,不会被匹配到。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 15:09:12