首页 > 解决方案 > 正则表达式仅替换记事本++中的第一次出现

问题描述

如何批量更换物品?我有很长的文字,有些东西我想替换。具体来说,我有这些价值观:

(€ <em>39.20</em>)
(€ <em>167.08</em>)
(€ <em>87.62</em>)
(€ <em>39.20</em>)
(€ <em>87.21</em>)
(€ <em>37.17</em>)
(€ <em>24.42</em>)
(€ <em>102.96</em>)
(€ <em>14.47</em>)
(€ <em>39.20</em>)
(€ <em>263.96</em>)
(€ <em>84.71</em>)
(€ <em>84.71</em>)
(€ <em>50.65</em>)
(€ <em>62.71</em>)
(€ <em>121.92</em>)
(€ <em>121.92</em>)
(€ <em>120.69</em>)
(€ <em>18.73</em>)
(€ <em>165.38</em>)

如何仅替换第一个元素,以免在它们具有相同值的情况下使所有内容无效?因为我将用一个新元素替换每个元素。所以替换必须是一个元素一个元素,因为它最初是强加的。

我曾尝试过,但它不起作用,因为它立即替换了我,因此它不再适用于后续元素:

寻找:

(€ <em>39.20</em>)|(€ <em>84.71</em>)|(€ <em>18.73</em>)

代替:

(?1€ <em>XXXXX</em>) (?2€ <em>YYYYY</em>) (?3€ <em>ZZZZZZ</em>)

但是,通过这种方式,它替换了所有元素 39.20 和 ALL 87.71。虽然我希望它只替换它找到的第一个项目 39.20,并且只替换第一个 87.71。我能怎么做?

标签: regexnotepad++

解决方案


推荐阅读