`
jiajw0426
  • 浏览: 24922 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

正则表达式匹配XML节点

阅读更多

通过这则表达式匹配一下xml文件中parent节点

<xml>

    <parent id="parent1"/>

    <parent id="parent2">

        <child name="child1"/>

    </parent>

    <parent id="parent3">

        <child name="child1"/>

    </parent>

<xml>

正则表达式的为:<parent[^>]*?(?=/>|>)(/>|>(?<!/>)(\S|\s)*?</parent>)

简单说明一下

第一步

通过:<parent[^>]*?(?=/>|>)的用处是尽可能多的匹配单一节点和有子节点的parent最大内容这里可以匹配到每一行的引号部分.通过正向肯定预查(?=/>|>)来确保查询parent1的时候不含后面的斜杠(/),加上这个只是为了容易理解匹配起来该觉比较整齐.

第二步

通过或(|)来匹配两种形式如果类似parent1的节点直接通过/>匹配余下的两个字符,如果含有child节点,在首先补上>,然后通过反向否定预查(?<!/>)确保前面的>是"<parent

id="parent2">"中的>而不是"/>"中的>,也就是后面的表达式匹配parent2以后的内容,其中(\S|\s)*?以非贪婪的形式匹配</parent>之前的内容,若果贪婪的方式则会匹配到parent3的</parent>.

仅仅通过这个例子来学习正则表达式的预查使用实际表达式可以简化为 : <parent[^>]*(/>|>(\S|\s)*?</parent>)

分享到:
评论

相关推荐

    Java使用正则表达式提取XML节点内容的方法示例

    这个示例中,我们使用了正则表达式 `&gt;([^&lt;]+)来匹配XML节点内容。这个正则表达式的意思是:匹配任何以 `&gt;` 开始,以 `结束,并且中间可以包含任何字符(包括 `和 `&gt;`)的字符串。 三、正则表达式在线测试工具 为了...

    正则表达式+xml

    正则表达式(Regular Expression)和XML(eXtensible Markup Language)是IT领域中两种重要的技术。正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和验证字符串模式。XML则是一种用于存储和交换结构化...

    VB.NET编写的正则表达式生成测试源码

    例如,每个规则可以是一个包含正则表达式和名称的XML节点。 4. 创建一个对照表资源文件,包含正则表达式元字符和其中文描述,可以在程序中动态加载。 总结,VB.NET提供了强大的正则表达式支持,通过编写源码实现的...

    Java基于正则表达式实现xml文件的解析功能详解

    正则表达式是一种强大的字符串匹配模式,可以用来匹配xml文件中的节点和属性。本文将详细介绍Java基于正则表达式实现xml文件的解析功能的技术细节,并提供实例代码供读者参考。 一、Node类的设计 在Java中,设计...

    正则表达式如何处理嵌套结构

    在处理具有复杂层次结构的数据时,如文本中的括号嵌套、XML 或 JSON 文件等,正则表达式是一种非常强大的工具。然而,对于嵌套结构的匹配,传统的正则表达式往往力不从心。为了克服这一限制,一些高级正则表达式引擎...

    正则表达式基础.zip

    正则表达式(Regular Expression)是用于匹配字符串的一种强大的模式匹配工具,广泛应用于文本处理、数据提取、爬虫等领域。Python中的正则表达式库`re`提供了丰富的函数来实现正则表达式操作。 在Python中,我们...

    asp.net 利用正则表达式url重写

    在这个例子中,我们创建了一个名为“ProductDetail”的规则,该规则使用正则表达式`^product/(d+)`匹配以`product/`开头,后面跟着一个或多个数字的URL。`^`表示字符串的开始,`(d+)`匹配一个或多个数字,并将其捕获...

    jstl文档和正则表达式文档

    - `&lt;x:out&gt;`:输出XML节点。 - `&lt;x:transform&gt;`:使用XSLT转换XML。 **正则表达式基础** 正则表达式是一种强大的文本处理工具,常用于字符串匹配、查找、替换和分割等操作。在Java中,正则表达式主要通过`java....

    表达式验证1.0[正则,xpath测试]

    在信息技术领域,正则表达式(Regular Expression)和XPath(XML Path Language)是两种强大的文本处理和数据提取工具。本文将详细介绍基于.NET Framework 3.5的"表达式验证1.0"小工具,它专门用于测试和验证这两种...

    CSS、DHTML、XMLDOM、T-SQL、XPath、正则表达式等.chm文件

    XMLDOM提供了遍历、查找、添加、删除XML节点的方法,使得在网页中动态操作XML数据成为可能。 4. T-SQL(Transact-SQL):T-SQL是SQL Server使用的扩展SQL语言,用于执行数据库查询、数据更新、事务管理等任务。它...

    如何使用Javascript正则表达式来格式化XML内容

    )/mg匹配XML的节点,并通过递归调用的方式,动态地计算前缀长度,从而构建出正确的缩进。通过这种方式,文本中的每个节点都会被正确地缩进,使得整个XML文档的结构变得清晰。 为了进一步优化显示效果,函数还对换行...

    XMLDOM T-SQL XPath 正则表达式等CHM格式学习文档

    正则表达式(Regular Expression)是一种模式匹配工具,用于在文本中查找、替换或提取符合特定规则的字符串。它们在编程、脚本语言中广泛使用,尤其在字符串处理和数据验证场景中。 这些CHM格式的学习文档涵盖了从...

    php通过正则表达式记取数据来读取xml的方法

    2. **使用正则表达式匹配XML数据**: 正则表达式`/(.*?)&lt;\/humans&gt;/s`用于匹配`&lt;humans&gt;`标签内的所有内容。`s`标志使得`.`匹配包括换行符在内的任何字符。这将`$humans`数组填充了`&lt;humans&gt;`标签内的所有数据。 `...

    使用C#正则表达式获取必应每日图片地址

     首先访问微软的API,该地址返回的是xml文本,获取xml文本后使用正则表达式匹配url节点中的内容,加上必应主页链接即可获得图片的真实网址。下面是获取网址的全部代码。 string InfoUrl = ...

    dom中文手册 js的107条技巧 js中常用的属性与方法 正则表达式

    正则表达式是模式匹配工具,用于在字符串中搜索、替换和提取数据。理解正则表达式的关键概念包括: - 元字符:如`.`代表任意字符,`\d`代表数字,`\w`代表字母数字字符。 - 量词:`*`表示零次或多次,`+`表示一次或...

    CSS、DHTML、XMLDOM、T-SQL、XPath、正则表达式等.chm文件帮助文档

    这篇文档将围绕着标题中提到的六个关键技术领域——CSS(层叠样式表)、DHTML(动态超文本标记语言)、XMLDOM(XML文档对象模型)、T-SQL(Transact-SQL)、XPath(XML路径语言)以及正则表达式,展开详细的阐述。...

    XPath_正则

    而XPath与正则表达式的结合,则进一步增强了其在数据匹配和提取上的能力。 XPath的核心概念包括以下几个部分: 1. **节点类型**:XPath处理的节点主要有元素(element)、属性(attribute)、文本(text)、命名...

    文本选择器

    在信息技术领域,正则表达式(Regular Expression)和XPath(XML Path Language)是两种非常重要的文本处理和数据提取技术。 正则表达式是一种模式匹配语言,通过特定的语法结构,可以高效地查找、替换或者分割文本...

Global site tag (gtag.js) - Google Analytics