在行中反转数字,已经有正则表达式,需要修改它

时间:2017-07-05 01:22:19

标签: regex notepad++

我有一个前一个帖子的正则表达式。这个正则表达式似乎只能在一些数字中起作用,而且我是正则表达式和编码的总体。反正有没有让我翻过的文字中的所有数字?我文本中的最大总位数在某些行中可能是10位数,而在其他行中可能只有2位,有时是3位或4位,但最大值是10,我会给出示例。

goku144

r3apt0r

66958496

Veg3ta123

正则表达式只会使一些数字反转,而不是全部,无论如何都要修复由horucrux提供的正则表达式。

  

下面的正则表达式和链接

     

如何在记事本++中向后编号

     

步骤1.为尚未倒置的数字添加标记。

     

查找

     

\ B(\ W +?)(\ d +)\ B'/ P>      

替换:

     

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

     

步骤2.使用以下设置替换所有足够的时间:

     

查找

     

\ B(\ W +)§(\ d *)(\ d)\ B'/ P>      

替换:

     

$ 1 $ $3§2

     

步骤3.删除所有标记。

     

查找

     

\ B(\ W + \ d)§

     

替换:

     

$ 1

2 个答案:

答案 0 :(得分:0)

由于您处理notepad ++,因此确定序列的最大长度非常重要,因为我们没有编程语言的强大功能。

同样很高兴知道你是否要反转任何数字序列 - 以数字开头的子串,中间的数字,最后的数字。

假设您要反转文件中的所有数字序列,最长的序列有5位数字。然后:

找到:(?<=\D)(\d)(\d)(\d)?(\d)?(\d)?(?=\D)
替换:$5$4$3$2$1

答案 1 :(得分:0)

与其他问题的方法相同:

第1步。为尚未倒置的数字添加标记。

查找

\d

替换:

§$0

第2步。做替换所有足够的时间来反转数字,同时删除标记:

查找

§(\d)([^\n]*)§(\d)

替换:

$3$2$1

第3步。删除剩余的标记(中心数字的标记)。

查找

§(\d)

替换:

$1