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

问题求助 · 12天14小时前 提问 · 56 次阅读

如果只是正则匹配的话,

在正则搜索使用^(.*?)+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. 第二次正则替换,把刚才的预设值的替换成变量。

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

最后更新于 2019/11/29
创建于 2019/11/29
{{comment.votePoints}}
回复   – {{comment.createTimeStr}}
回复 x
0 个回答

撰写答案

相关操作
编辑 管理