- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XML与正则表达式
第8章 XML与正则表达式 正则表达式(Regular Expression)处理文本和模式匹配问题实用、高效,因此XML也引入了对正则表达式的支持。本章将着重讲述正则表达式在XML中的应用。 8.1 正则表达式在XML中的应用 正则表达式可以用于指定字符串模式。在XML范畴内,主要使用在以下几个方面。 ? XML Schema ? XPath 2.0 ? XSLT 2.0 8.1.1 在XML Schema中的应用 正则表达式可以在验证时,指定字符串匹配模式。以下示例代码演示了正则表达式的使用。 上面的代码定义了一个匹配模式“[a-z]{3}[0-9]{3}”。以下代码所示的元素可以通过验证。 rootabc123/root xs:element name=root xs:simpleType xs:restriction base=xs:string xs:pattern value=[a-z]{3}[0-9]{3}/ /xs:restriction /xs:simpleType /xs:element 8.1.2 在XPath 2.0中的应用 正则表达式可以用于XPath 2.0中三个函数——matches(),replace()和tokenize()。以下XSLT代码中使用了这三个函数。 ?xml version=1.0? xsl:stylesheet version=2.0 xmlns:xsl=/1999/XSL/Transform xsl:template match=/ xsl:value-of select=matches(2007-03-01,\d{4}-\d{2}-\d{2})/ xsl:value-of select=replace(2007-03-01,(\d{4})-(\d{2})-(\d{2}),$2/$3/$1)/ xsl:value-of select=tokenize(2007-03-01,-)/ /xsl:template /xsl:stylesheet 代码说明: ? matches(2007-03-01,\d{4}-\d{2}-\d{2})将返回true。 ? replace(2007-03-01,(\d{4})-(\d{2})-(\d{2}),$2/$3/$1)将返回字符串“03/01/2007”。 ? tokenize(2007-03-01,-)将返回序列(‘2007’,’03’,’01’)。 8.1.3 在XSLT 2.0中的应用 正则表达式在XSLT 2.0的应用主要是在元素xsl:analyze-string中。以下示例代码演示了正则表达式在该元素中的使用。 xsl:analyze-string select=root regex=[0-9]+ xsl:matching-substring xsl:value-of select=./ /xsl:matching-substring xsl:non-matching-substring xsl:textnon-letter/xsl:text /xsl:non-matching-substring /xsl:analyze-string 8.2 XML正则表达式简介 许多编程语言都支持正则表达式。尽管这些语言中的正则表达式基本结构一样,但是其语法并不完全相同。XML正则表达式与Perl中正则表达式十分相似。事实上,XML正则表达式正是以Perl正则表达式为蓝本来定义的。本节将简要讲述XML正则表达式的基本语法结构。 8.2.1 元字符和普通字符 正则表达式的定义是以字符为基本单位的。字符又可以分为元字符和普通字符两类。元字符是指在正则表达式中表示特殊含义的字符。元字符包括“.”、“\”、“?”、“*”、“+”、“|”、“{” 、“}”、“^”、“$”、“[”、“]”。 普通字符是指除元字符外的所有Unicode字符。普通字符匹配其本身,当然如果在使用时,flags标志含有“i”,那么普通字符还可以匹配其大写或小写形式。 元字符中的“.”用于匹配任何单字符(除换行符外)。当flags标志含有“s”时,“.”将匹配包括换行符在内的所有字符。 元字符“^”和“$”用于匹配输入字符串的开始和结束。默认情况下,这里的开始和结束是指整个字符串的开头和结尾。当flags标志含有“m”时,整个字符串在换行符处,被看做一行的结束,在换行符的下个字符处,看做另一行的开始。 例如,正则表达式“^The”,可匹配字符串“The”;正则表达式“doc$”,匹配字符串“doc”。 8.2.2 量词 量词用来指
文档评论(0)