【发布时间】:2018-09-30 15:12:11
【问题描述】:
我有一个包含 XML 格式的 Office365 的 URL 和 IP 的列表。现在我想编写一个脚本或使用文本编辑器的搜索和替换功能(正则表达式)来自动更改其中一些 URL。
例子:
这些网址
<address>scus-odc.officeapps.live.com</address>
<address>scus-roaming.officeapps.live.com</address>
<address>sea-odc.officeapps.live.com</address>
应该改为
<address>*.officeapps.live.com</address>
<address>*.officeapps.live.com</address>
<address>*.officeapps.live.com</address>
我将不胜感激有关此问题的任何意见。提前致谢。
这是我迄今为止尝试过的:
1)搜索 ..(?=[^.].[^.]*$) 并替换为空字符串。这做得很好,但不幸的是它删除了前面的内容嗯……
2)正如 Tim 所指出的,该列表由具有不同域的 FQDN 组成。该列表可从 https://go.microsoft.com/fwlink/?LinkId=533185 获得(此列表包括所有 FQDN - IP 将被删除)
3) 在 Sergio 的帮助下解决。解决方案是
搜索 (>)[^.\n\s]+ 并替换为 \1\*
我将不得不编写另一个脚本来删除多个域,但这不是问题的一部分,所以我认为这个问题已经结束。感谢您的意见。
【问题讨论】:
-
请在您的问题中包含您自己的努力和解决方案尝试。
-
请出示您的实际数据。您的某些地址可能有一个或多个子域,因此很难编写一个单一的模式来涵盖所有内容。
-
投票结束太广泛了。您的域列表大量,没有人应该通读该文件来帮助您。 您可以为我们提供一个最小的问题,即您可以针对实际问题使用的解决方案。
-
@Tim 谢谢,我能够用 Sergio 提供的这个命令解决问题:搜索 (>)[^.\n\s]+ 并替换为 \1* 。跨度>
标签: regex xml notepad++ rename