【问题标题】:Batch rename URLs in XML file批量重命名 XML 文件中的 URL
【发布时间】: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 的帮助下解决。解决方案是 搜索 (&gt;)[^.\n\s]+ 并替换为 \1\* 我将不得不编写另一个脚本来删除多个域,但这不是问题的一部分,所以我认为这个问题已经结束。感谢您的意见。

【问题讨论】:

  • 请在您的问题中包含您自己的努力和解决方案尝试。
  • 请出示您的实际数据。您的某些地址可能有一个或多个子域,因此很难编写一个单一的模式来涵盖所有内容。
  • 投票结束太广泛了。您的域列表大量,没有人应该通读该文件来帮助您。 可以为我们提供一个最小的问题,即您可以针对实际问题使用的解决方案。
  • @Tim 谢谢,我能够用 Sergio 提供的这个命令解决问题:搜索 (>)[^.\n\s]+ 并替换为 \1* 。跨度>

标签: regex xml notepad++ rename


【解决方案1】:

您可以使用正则表达式:

(&gt;)[^.\n\s]+

并替换为\1\*

【讨论】:

  • 这似乎工作得非常好。但它会在列表中留下同一个域的多个条目......我会调查一下!
猜你喜欢
  • 2014-12-11
  • 2013-12-19
  • 2019-09-27
  • 2017-04-20
  • 1970-01-01
  • 2012-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多