Notepad ++改变所有' xx'对于' xx ++'

时间:2014-04-07 03:29:54

标签: notepad++

有一些方法来计算以下文字

  

(' xx',' link 001'),

     

(' xx',' link 002'),

     

(' xx','链接100');

  

(' 001',' link 001'),

     

(' 002',' link 002'),

     

(' 100','链接100'),

喜欢一会儿

While($x = 001; $x <= 100) {
$xx == $x++;
}

1 个答案:

答案 0 :(得分:0)

假设您的文字布局完全,就像您发布的那样:

('xx', 'link 001'),

('xx', 'link 002'),

('xx', 'link 100');

以下正则表达式搜索应该有效:

查找

'\w+', 'link (\d+)'

替换:

'\1', 'link \1'

为你逐一打破这个,

' - 搜索'
\w - 搜索字母数字字符或下划线 + - 指示Notepad ++一次或多次查找前一个序列。与\w结合使用时,会查找一个或多个字母数字字符/下划线。这符合您的xx ' - 另一个'。所以此时我们正在寻找',后跟一个或多个字母数字字符,然后是'
, 'link - 另一个文字搜索,这次是逗号,后跟空格后跟'后跟单词link后跟空格。
( - 开始分组。括号(())之间的任何内容都可以稍后使用\1\2等标识。这一个将由\1标识,因为它是我们的第一组。 \d - 搜索数字 + - 再次匹配前面一个或多个字符。所以我们正在寻找一个或多个数字 ) - 关闭分组。 \1现在会保存搜索一个或多个数字的结果 ' - 您文字中的最终'

现在替换。这更简单。简而言之,它只需要找到“查找”正则表达式的数字并用它们替换多字符序列,然后将其他所有内容放回原来的状态。

' - 另一个文字,第一个' \1 - 保存使用“查找”正则表达式的多位数搜索的结果。因此对于link 001,这将保留001;对于link 002,这将保留002;以下是魔术发生的地方:\w+找到的字母数字序列将被找到的数字\d+替换。
', 'link - 另一个文字。这将插入', 'link。基本上我们只是把已经存在的文本放回原位 \1 - 与最后一个\2相同的多位数分组。再次001link 001002link 002,等等。我们只是替换已经存在的数字......与其本身。 ' - 结束'