如何在记事本++中替换正则表达式搜索中的一个字符
How to replace one character from regex search in notepad++
我正在尝试搜索和替换 sheet 中公式的错误,请参阅下面的示例数据:
SUM(ZeplinUpdateTracker!E:E)-SUM(E102:E104),"")</f><v/></c><c r="F105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!F:F)-SUM(F102:F104),"")</f><v/></c><c r="G105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!G:G)-SUM(G102:G104),"")</f><v/></c><c r="H105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!H:H)-SUM(H102:H104),"")</f><v/></c><c r="I105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!I:I)-SUM(I102:I104),"")</f><v/></c><c r="J105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!J:J)-SUM(J102:J104),"")</f><v/></c><c r="K105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!K:K)-SUM(K102:K104),"")</f><v/></c><c r="L105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!L:L)-SUM(L102:L104),"")</f><v/></c><c r="M105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!M:M)-SUM(M102:M104),"")</f><v/></c><c r="N105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!N:N)-SUM(N102:N104),"")</f><v/></c><c r="O105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!O:O)-SUM(O102:O104),"")</f><v/></c><c r="P105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!P:P)-SUM(P102:P104),"")</f><v/></c><c r="Q105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!Q:Q)-SUM(Q102:Q104),"")</f><v/></c><c r="R105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!R:R)-SUM(R102:R104),"")</f><v/></c><c r="S105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!S:S)-SUM(S102:S104),"")</f><v/></c><c r="T105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!T:T)-SUM(T102:T104),"")</f><v/></c><c r="U105" s="36" t="str"><f>IF(B105 <>
我需要将第二个 SUM 的第一个范围内的数字替换为始终为 5。例如 SUM(ZeplinUpdateTracker!T:T)-SUM(T102:T104) 应更正为 SUM(ZeplinUpdateTracker!T:T) -SUM(T5:T104)
我将正则表达式写为 -SUM([A-Z][0-9][0-9][0-9] 可以有效搜索所有目标数据,但我无法将替换正则表达式写为 - SUM([A-Z]5 按字面替换为 [A-Z]
以下模式似乎有效:
^(.*?\bSUM.*?SUM\([A-Z]+)\d+(:[A-Z]+\d+\).*)$
这里是对正则表达式模式的解释:
^ from the start of the string
(.*?\bSUM match and capture in everything up to including the first SUM
.*?SUM\( as well as the second SUM
[A-Z]+) making sure to capture the letter from the first cell reference
\d+ but do NOT capture the digit (we want to replace with 5)
(:[A-Z]+\d+\).*) then match and capture the rest of the formula in
$
然后我们替换为
以获得您想要的输出。
看起来你可以寻找:
(SUM\([A-Z]+)\d+
(
- 打开第一个捕获组。
SUM\(
- SUM(
. 的文字匹配
[A-Z]+
- 一个或多个大写字母。
)
- 关闭第一个捕获组。
\d+
- 一个或多个数字
替换为:
</code> - 第一个捕获组中的任何内容。</li>
<li><code>5
- 文字 5.
注意:一定要勾选'Regular Expressions'
我正在尝试搜索和替换 sheet 中公式的错误,请参阅下面的示例数据:
SUM(ZeplinUpdateTracker!E:E)-SUM(E102:E104),"")</f><v/></c><c r="F105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!F:F)-SUM(F102:F104),"")</f><v/></c><c r="G105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!G:G)-SUM(G102:G104),"")</f><v/></c><c r="H105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!H:H)-SUM(H102:H104),"")</f><v/></c><c r="I105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!I:I)-SUM(I102:I104),"")</f><v/></c><c r="J105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!J:J)-SUM(J102:J104),"")</f><v/></c><c r="K105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!K:K)-SUM(K102:K104),"")</f><v/></c><c r="L105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!L:L)-SUM(L102:L104),"")</f><v/></c><c r="M105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!M:M)-SUM(M102:M104),"")</f><v/></c><c r="N105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!N:N)-SUM(N102:N104),"")</f><v/></c><c r="O105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!O:O)-SUM(O102:O104),"")</f><v/></c><c r="P105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!P:P)-SUM(P102:P104),"")</f><v/></c><c r="Q105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!Q:Q)-SUM(Q102:Q104),"")</f><v/></c><c r="R105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!R:R)-SUM(R102:R104),"")</f><v/></c><c r="S105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!S:S)-SUM(S102:S104),"")</f><v/></c><c r="T105" s="36" t="str"><f>IF(B105 <> "",SUM(ZeplinUpdateTracker!T:T)-SUM(T102:T104),"")</f><v/></c><c r="U105" s="36" t="str"><f>IF(B105 <>
我需要将第二个 SUM 的第一个范围内的数字替换为始终为 5。例如 SUM(ZeplinUpdateTracker!T:T)-SUM(T102:T104) 应更正为 SUM(ZeplinUpdateTracker!T:T) -SUM(T5:T104)
我将正则表达式写为 -SUM([A-Z][0-9][0-9][0-9] 可以有效搜索所有目标数据,但我无法将替换正则表达式写为 - SUM([A-Z]5 按字面替换为 [A-Z]
以下模式似乎有效:
^(.*?\bSUM.*?SUM\([A-Z]+)\d+(:[A-Z]+\d+\).*)$
这里是对正则表达式模式的解释:
^ from the start of the string
(.*?\bSUM match and capture in everything up to including the first SUM
.*?SUM\( as well as the second SUM
[A-Z]+) making sure to capture the letter from the first cell reference
\d+ but do NOT capture the digit (we want to replace with 5)
(:[A-Z]+\d+\).*) then match and capture the rest of the formula in
$
然后我们替换为 以获得您想要的输出。
看起来你可以寻找:
(SUM\([A-Z]+)\d+
(
- 打开第一个捕获组。SUM\(
-SUM(
. 的文字匹配
[A-Z]+
- 一个或多个大写字母。)
- 关闭第一个捕获组。
\d+
- 一个或多个数字
替换为:
</code> - 第一个捕获组中的任何内容。</li> <li><code>5
- 文字 5.
注意:一定要勾选'Regular Expressions'