这里我试图用另一些文本替换一些文本。 示例: -
almada-institute.com:25:info@almada-institute.com:info12345: “你好” &LT;的 service@iubi.com &GT;:nossl in-graph.com:25:info@in-graph.com:info123456789:"hello"<service@iubi.com>:nossl get-herbals.net:25:info@get-herbals.net:info321: “你好” &LT;的 service@iubi.com &GT;:nossl
我需要像这样
almada-institute.com:25:info@almada-institute.com:info12345: “你好” &LT;的 info@almada-institute.com &GT;:nossl in-graph.com:25:info@in-graph.com:info123456789:"hello"<info@in-graph.com>:nossl get-herbals.net:25:info@get-herbals.net:info321: “你好” &LT;的 info@get-herbals.net &GT;:nossl
为此我使用: -
但它只是用替换字段中的正则表达式替换搜索内容。
答案 0 :(得分:2)
使用捕获组。把另一个正则表达式放在他们的意义上是没有意义的。因此,使用您提供的屏幕截图,正则表达式将类似于:
([a-z]\w+[@][a-z]\w+)[.]([a-z]\w+)
替换为:
\1-\2.\1
答案 1 :(得分:2)
您可以使用(
和)
创建正则表达式组,然后使用$N
替换参考,这将访问N-th
组。
所以在你的情况下,你可以这样做
正则表达式:([^: ]+:[^:]+:([^:]+):[^:]+:[^:]+)(:[^: ]+)
替换:\1<\2>\3
或某些实现$1<$2>$3
您可以在此处自行试用:https://www.regex101.com/r/hY8pY9/1
答案 2 :(得分:2)
您可以使用正则表达式组。根据您上面的示例输入/输出,下面的内容对我有用。
找到:
:(\w+@.*?):(.*?)<(\w+@.*?)>:
替换为:
:\1:\2<\1>: