有一些方法来计算以下文字
(' xx',' link 001'),
(' xx',' link 002'),
(' xx','链接100');
到
(' 001',' link 001'),
(' 002',' link 002'),
(' 100','链接100'),
喜欢一会儿
While($x = 001; $x <= 100) {
$xx == $x++;
}
答案 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
相同的多位数分组。再次001
为link 001
,002
为link 002
,等等。我们只是替换已经存在的数字......与其本身。
'
- 结束'
。