【替换文本】只替换第一个匹配值,最简单的方案是什么?

使用问题 · 1851 次浏览
tkk 创建于 2019-11-29 19:39

如果只是正则匹配的话,

在正则搜索使用^(.*?)+pattern,在正则替换使用$1+pattern2

但如果使用某个变量进行替换应该怎么办?正则替换选项开启后就无法$${}引入变量了。

 

我想的方案1

  1. 正则提取 从开头到pattern 保存为变量1                               absc123sddvv123  ----  absc123
  2. 对变量1中的pattern使用正则替换,结果保存为变量2         absc123                  ---    absc<xxx>
  3. 对源文本的变量1替换成变量2                                              absc123sddvv123  ----  absc<xxx>sddvv123

此方案略麻烦

方案2

  1. 正则替换,把第一个匹配项替换成预设值{替换位置}
  2. 第二次正则替换,把刚才的预设值的替换成变量。

此方案简单,但是预设值{替换位置}有重复的概率

tkk 最后更新于 2019/11/29

回复内容
暂无回复
回复主贴