Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在记事本++;_Regex_Notepad++ - Fatal编程技术网

Regex 如何在记事本++;

Regex 如何在记事本++;,regex,notepad++,Regex,Notepad++,我有很多这样的数字 rocket123 firefly1000 attack577 有没有使数字颠倒的正则表达式 rocket321 firefly0001 attack775 这是可行的一个小技巧 步骤1。为尚未反转的数字添加标记 查找: 替换: $1§$2 $1$3§$2 $1 您可以选择其他标记,而不是§ 步骤2。请务必用以下设置替换所有足够的时间: 查找: 替换: $1§$2 $1$3§$2 $1 步骤3。删除所有标记 查找: 替换: $1§$2 $1$3§$2 $1

我有很多这样的数字

rocket123
firefly1000
attack577
有没有使数字颠倒的正则表达式

rocket321
firefly0001
attack775

这是可行的一个小技巧

步骤1。为尚未反转的数字添加标记

查找:

替换:

$1§$2
$1$3§$2
$1
您可以选择其他标记,而不是
§

步骤2。请务必用以下设置替换所有足够的时间:

查找:

替换:

$1§$2
$1$3§$2
$1
步骤3。删除所有标记

查找:

替换:

$1§$2
$1$3§$2
$1

希望这能有所帮助。

如果已知要反转的最大位数,且不太大,则可以使用单个Notepad++正则表达式搜索和替换。假设最大位数为12,则表达式为:

搜索:

(\d)(\d)(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?(\d)?
替换为:

(?{12}${12})(?{11}${11})(?{10}${10})(?9$9)(?8$8)(?7$7)(?6$6)(?5$5)(?4$4)(?3$3)$2$1
说明:

任何要反转的数字必须至少有两位数字,因此搜索中的首字母
(\d)(\d)
将获得两位数字,而替换中的最终字母
$2$1
将它们按相反的顺序放在输出的末尾。(前两位是最简单的部分。)然后搜索字符串根据需要重复模式
(\d)?
的次数,以获得最大位数。这些数字与剩余数字(如有)匹配。每个
(\d)
模式在替换字符串中都有一个对应的项,它们的形式为
(?N$N)
,其中每个
N
是捕获组的编号。对于数字4,单位数捕获类似于
(?4$4)
。对于大于等于10的捕获,数字用大括号括起来,例如编号12的
(?{12}${12})
。这些替换项测试捕获组是否捕获了任何内容,如果捕获了,则插入该捕获项。另见

变体

根据需要为更长或更短的最大位数添加或删除其他搜索和替换项

如果位数可能大于预期,则在搜索字符串中添加一个额外的
(\d)
,并在替换末尾添加一些合适的错误消息
(?{13})
,将输出超长数字组的错误消息。当然,需要更改
13
,以匹配搜索和替换中的项目数


使用Notepad++7.5.6版进行测试。

不仅仅使用正则表达式,您还需要一些编程逻辑。是否可以只进行数字运算?同样,不,这里需要一种编程语言,例如
Python
:是的,这似乎可行,这句话被添加到了行中,但很容易被替换掉,找到了,用什么都没有替换,该死的老兄@ramza75这确实适用于每个数字。正如我所说,在第二步中,点击“全部替换”足够多的次数。与多次点击“全部替换”相比,多个可选的捕获组可能会让你更幸运。@ramza75无论如何,请看一下@horcrux你的真命天子,多次点击“全部替换”效果很好,我的朋友,你是最好的!!!!!!!!