我必须使用 Notepad++ 在每一行的开头逐渐添加数字。 这还不是开始。但是,就像
when ID = '1' then data
when ID = '2' then data
when ID = '3' then data
.
.
.
.
when ID = '700' then
有什么方法可以通过替换为任何表达式来增加这些数字,或者是否有任何内置记事本功能可以做到这一点。
谢谢
如果你想用notepad++来做到这一点,你可以按照以下方式进行。
首先,您可以使用模板文本编写所有 700 行(您可以使用宏或使用编辑 -> 列编辑器)。写完后,将光标放在您想要数字的位置,单击
Shift
+Alt
并选择所有行:
无法使用正则表达式来完成此操作,因为您需要有一个计数器并进行算术运算(例如加一)。
我知道这是一个老问题,但我将其放在这里,以防将来对其他人有所帮助。有一种方法可以通过正则表达式搜索一次性增加数字并在 Notepad++ 中替换(我使用的是 v8.5.6)。到目前为止,我在自己的项目中还没有遇到过这些表达式的任何问题。
在 Notepad++ 中按 ctrl-h,选中“正则表达式”框,然后在“查找内容”中粘贴以下内容:
(?<!!!!!!)\b(?'m1'\d*?)(?'m2'(?'a'0)|(?'b'1)|(?'c'2)|(?'d'3)|(?'e'4)|(?'f'5)|(?'g'6)|(?'h'7)|(?'i'8)|(?'j'9))(?'m3'(?'pbn'9{128})?(?'p7'9{64})?(?'p6'9{32})?(?'p5'9{16})?(?'p4'9{8})?(?'p3'9{4})?(?'p2'99)?(?'p1'9)?(?<=9))?\b
并在“替换为”中粘贴以下内容:
(?{pbn}!!!!!$+{m1}$+{m2}$+{m3}!!!!!:$+{m1}(?{a}1:(?{b}2:(?{c}3:(?{d}4:(?{e}5:(?{f}6:(?{g}7:(?{h}8:(?{i}9:(?{j}10))))))))))(?{p7}0000000000000000000000000000000000000000000000000000000000000000)(?{p6}00000000000000000000000000000000)(?{p5}0000000000000000)(?{p4}00000000)(?{p3}0000)(?{p2}00)(?{p1}0))
请注意一个限制:此正则表达式携带 1 的位置不能超过 128 个位置。因此,如果数字以超过 128 个连续 9 结尾,则正则表达式将用“!!!!!”标记未处理的数字。这样就可以找到手动添加了。
!!!!!nnnnn..9 x 129+!!!!!
我认为它适用于任意大的数字,只要它们末尾没有太多的9。但对于那么大的数字我不需要这个。
如果您处理的数字非常大,您可以添加更多 2^x 个 9 块来替换。我还没有尝试过其他 PCRE 兼容工具中的表达式,但我想如果您的正则表达式引擎支持命名子表达式,它也可以在那里工作。