欢迎来到天天文库
浏览记录
ID:20311335
大小:139.00 KB
页数:15页
时间:2018-10-12
《第8章 xml与正则表达式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章XML与正则表达式正则表达式(RegularExpression)处理文本和模式匹配问题实用、高效,因此XML也引入了对正则表达式的支持。本章将着重讲述正则表达式在XML中的应用。8.1正则表达式在XML中的应用正则表达式可以用于指定字符串模式。在XML范畴内,主要使用在以下几个方面。XMLSchemaXPath2.0XSLT2.08.1.1在XMLSchema中的应用正则表达式可以在验证时,指定字符串匹配模式。以下示例代码演示了正则表达式的使用。上面的代码定义了一个匹配模式“[a-z]{3}[0-9]{3}”。以下代码所示的元素可以通过验证。abc123
2、root>8.1.2在XPath2.0中的应用正则表达式可以用于XPath2.0中三个函数——matches(),replace()和tokenize()。以下XSLT代码中使用了这三个函数。3、0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">4、lesheet>代码说明: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在XSLT2.0中的应用正则表达式在XSLT2.0的应用主要是在元素中。以下示例代码演示了正则表达式在该元素中的使用。5、select="root"regex="[0-9]+">non-letter8.2XML正则表达式简介许多编程语言都支持正则表达式。尽管这些语言中的正则表达式基本结构一样,但是其语法并不完全相同。XML正则表达式与Perl中正则表达式十分相似。6、事实上,XML正则表达式正是以Perl正则表达式为蓝本来定义的。本节将简要讲述XML正则表达式的基本语法结构。8.2.1元字符和普通字符正则表达式的定义是以字符为基本单位的。字符又可以分为元字符和普通字符两类。元字符是指在正则表达式中表示特殊含义的字符。元字符包括“.”、“”、“?”、“*”、“+”、“7、”、“{”、“}”、“^”、“$”、“[”、“]”。普通字符是指除元字符外的所有Unicode字符。普通字符匹配其本身,当然如果在使用时,flags标志含有“i”,那么普通字符还可以匹配其大写或小写形式。元字符中的“.”用于匹配任何单字符(除换行符外)。当flags标志含有“s”时8、,“.”将匹配包括换行符在内的所有字符。元字符“^”和“$”用于匹配输入字符串的开始和结束。默认情况下,这里的开始和结束是指整个字符串的开头和结尾。当flags标志含有“m”时,整个字符串在换行符处,被看做一行的结束,在换行符的下个字符处,看做另一行的开始。例如,正则表达式“^The”,可匹配字符串“The”;正则表达式“doc$”,匹配字符串“doc”。8.2.2量词量词用来指定字符出现次数。量词的形式主要有“?”、“*”、“+”、“{}”。元字符“?
3、0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">4、lesheet>代码说明: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在XSLT2.0中的应用正则表达式在XSLT2.0的应用主要是在元素中。以下示例代码演示了正则表达式在该元素中的使用。5、select="root"regex="[0-9]+">non-letter8.2XML正则表达式简介许多编程语言都支持正则表达式。尽管这些语言中的正则表达式基本结构一样,但是其语法并不完全相同。XML正则表达式与Perl中正则表达式十分相似。6、事实上,XML正则表达式正是以Perl正则表达式为蓝本来定义的。本节将简要讲述XML正则表达式的基本语法结构。8.2.1元字符和普通字符正则表达式的定义是以字符为基本单位的。字符又可以分为元字符和普通字符两类。元字符是指在正则表达式中表示特殊含义的字符。元字符包括“.”、“”、“?”、“*”、“+”、“7、”、“{”、“}”、“^”、“$”、“[”、“]”。普通字符是指除元字符外的所有Unicode字符。普通字符匹配其本身,当然如果在使用时,flags标志含有“i”,那么普通字符还可以匹配其大写或小写形式。元字符中的“.”用于匹配任何单字符(除换行符外)。当flags标志含有“s”时8、,“.”将匹配包括换行符在内的所有字符。元字符“^”和“$”用于匹配输入字符串的开始和结束。默认情况下,这里的开始和结束是指整个字符串的开头和结尾。当flags标志含有“m”时,整个字符串在换行符处,被看做一行的结束,在换行符的下个字符处,看做另一行的开始。例如,正则表达式“^The”,可匹配字符串“The”;正则表达式“doc$”,匹配字符串“doc”。8.2.2量词量词用来指定字符出现次数。量词的形式主要有“?”、“*”、“+”、“{}”。元字符“?
4、lesheet>代码说明: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在XSLT2.0中的应用正则表达式在XSLT2.0的应用主要是在元素中。以下示例代码演示了正则表达式在该元素中的使用。5、select="root"regex="[0-9]+">non-letter8.2XML正则表达式简介许多编程语言都支持正则表达式。尽管这些语言中的正则表达式基本结构一样,但是其语法并不完全相同。XML正则表达式与Perl中正则表达式十分相似。
5、select="root"regex="[0-9]+">non-letter
6、事实上,XML正则表达式正是以Perl正则表达式为蓝本来定义的。本节将简要讲述XML正则表达式的基本语法结构。8.2.1元字符和普通字符正则表达式的定义是以字符为基本单位的。字符又可以分为元字符和普通字符两类。元字符是指在正则表达式中表示特殊含义的字符。元字符包括“.”、“”、“?”、“*”、“+”、“
7、”、“{”、“}”、“^”、“$”、“[”、“]”。普通字符是指除元字符外的所有Unicode字符。普通字符匹配其本身,当然如果在使用时,flags标志含有“i”,那么普通字符还可以匹配其大写或小写形式。元字符中的“.”用于匹配任何单字符(除换行符外)。当flags标志含有“s”时
8、,“.”将匹配包括换行符在内的所有字符。元字符“^”和“$”用于匹配输入字符串的开始和结束。默认情况下,这里的开始和结束是指整个字符串的开头和结尾。当flags标志含有“m”时,整个字符串在换行符处,被看做一行的结束,在换行符的下个字符处,看做另一行的开始。例如,正则表达式“^The”,可匹配字符串“The”;正则表达式“doc$”,匹配字符串“doc”。8.2.2量词量词用来指定字符出现次数。量词的形式主要有“?”、“*”、“+”、“{}”。元字符“?
此文档下载收益归作者所有