【问题标题】:How to extract the Url from data in XML format with Notepad++?如何使用 Notepad++ 从 XML 格式的数据中提取 Url?
【发布时间】:2018-05-22 13:24:03
【问题描述】:

我在 config.xml 文件中有数百个站点的列表。我需要根据下面列出的绑定标签提取所有没有端口 80 的 url 站点。是否有任何最精确的正则表达式语法可以创建这样的列表?我正在使用 Notepad++ 进行编辑。

<binding protocol="http" bindingInformation="217.145.55.21:80:rwasianew.inforce.dk" />
<binding protocol="http" bindingInformation="217.145.55.86:80:rwasianew.inforce.dk" />
<binding protocol="http" bindingInformation="*:80:rwasianew-cn.inforce.dk" />
<binding protocol="http" bindingInformation="*:80:rwasianew-th.inforce.dk" />
<binding protocol="http" bindingInformation="217.145.55.86:80:rwasianew-splash.inforce.dk" />
<binding protocol="http" bindingInformation=":80:rwbuilddeskgb.synkronvia.com" />
<binding protocol="http" bindingInformation=":80:rwbuilddeskdk.synkronvia.com" />
<binding protocol="http" bindingInformation=":80:rwbuilddesknl.synkronvia.com" />
<binding protocol="http" bindingInformation=":80:rwbuilddeskde.synkronvia.com" />
<binding protocol="http" bindingInformation=":80:rwbuilddeskint.synkronvia.com" />
<binding protocol="http" bindingInformation=":80:rwbuilddeskpl.synkronvia.com" />

【问题讨论】:

  • 您可以添加所需输出的示例吗?
  • C#、IIS、Win10。但我只需要一个带有网址的普通列表。我只使用带有正则表达式搜索功能的记事本++。
  • 输出:rwbuilddeskint.synkronvia.com、rwbuilddesknl.synkronvia.com、rwasianew-cn.inforce.dk 等
  • 您应该更新/编辑您的问题,而不是在评论中回答。

标签: regex xml


【解决方案1】:

不是正则表达式,而是XSLT:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text" indent="no" encoding="utf-8" media-type="text/plain"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="//binding">
    <xsl:value-of select="substring-after(substring-after(@bindingInformation, ':'), ':')"/>
    <xsl:text>&#10;</xsl:text>
  </xsl:template>

</xsl:stylesheet>

输出

rwasianew.inforce.dk rwasianew.inforce.dk rwasianew-cn.inforce.dk rwasianew-th.inforce.dk rwasianew-splash.inforce.dk rwbuilddeskgb.synkronvia.com rwbuilddeskdk.synkronvia.com rwbuilddesknl.synkronvia.com rwbuilddeskde.synkronvia.com rwbuilddeskint.synkronvia.com rwbuilddeskpl.synkronvia.com

有多种在线服务可用,例如this 一种。

【讨论】:

  • 就是这样!!谢谢你米查:)
【解决方案2】:

CTRL + H

搜索模式:Regular expression

查找:&lt;binding protocol=".*" bindingInformation=".*:80:(.*)" \/&gt;

替换:\1

【讨论】:

    猜你喜欢
    • 2013-02-04
    • 2023-03-18
    • 1970-01-01
    • 2017-10-09
    • 2020-05-02
    • 2011-10-24
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多