正则表达式中的特殊字符_第1页
正则表达式中的特殊字符_第2页
正则表达式中的特殊字符_第3页
正则表达式中的特殊字符_第4页
正则表达式中的特殊字符_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、字符/意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。例如:/b/匹配字符b,通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示匹配一个单词的分界线。或者:对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。例如:*是一个特殊字符,匹配任意个字符(包括0个字符);例如:/a*/意味匹配0个或多个a。为了匹配字面上的*,在a前面加一个反斜杠;例如:/a*/匹配a*。字符意义:表示匹配的字符必须在最前边。例如:/A/不匹配"an A,"中的A,但匹配"An A."中最前面的A。字符$意义:与

2、类似,匹配最末的字符。例如:/t$/不匹配"eater"中的t,但匹配"eat"中的t。字符*意义:匹配*前面的字符0次或n次。例如:/bo*/匹配"A ghost booooed"中的boooo或"A bird warbled"中的b,但不匹配"Agoat grunted"中的任何字符。字符+意义:匹配+号前面的字符1次或n次。等价于1,。例如:/a+/匹配"candy"中的a和"caaaaaaandy."中的所有a。字符?意义:匹配?前面的字符0次或1

3、次。例如:/e?le?/匹配"angel"中的el和"angle."中的le。字符.意义:(小数点)匹配除换行符外的所有单个的字符。例如:/.n/匹配"nay, an apple is on the tree"中的an和on,但不匹配nay。字符(x)意义:匹配x并记录匹配的值。例如:/(foo)/匹配和记录"foo bar."中的foo。匹配子串能被结果数组中的素1, .,n 返回,或被RegExp对象的属性, ., 返回。字符xy意义:匹配x或者y。例如:/greenred/匹配"green appl

4、e"中的green和"red apple."中的red。字符 n 意义:这里的n是一个正整数。匹配前面的n个字符。例如:/a 2 /不匹配"candy,"中的a,但匹配"caandy," 中的所有a和"caaandy."中前面的两个a。字符 n, 意义:这里的n是一个正整数。匹配至少n个前面的字符。例如:/a 2, 不匹配"candy"中的a,但匹配"caandy"中的所有a和"caaaaaaandy."中的所有a字符 n,m 意义:这里的n和m

5、都是正整数。匹配至少n个最多m个前面的字符。例如:/a 1,3 /不匹配"cndy"中的任何字符,但匹配 "candy,"中的a,"caandy," 中的前面两个a和"caaaaaaandy"中前面的三个a,注意:即使"caaaaaaandy" 中有很多个a,但只匹配前面的三 个a即"aaa"。字符xyz意义:一字符列表,匹配列出中的任一字符。你可以通过连字符-指出一个字符范围。例如:abcd跟a-c一样。它们匹配"brisket"中的b和"ac

6、he"中的c。字符xyz意义:一字符补集,也就是说,它匹配除了列出的字符外的所有东西。 你可以使用连字符-指出一 字符范围。例如:abc和a-c等价,它们最早匹配"brisket"中的r和"chop."中的h。字符意义:匹配一个空格(不要与b混淆)字符b意义:匹配一个单词的分界线,比如一个空格(不要与混淆)例如:/bnw/匹配"noonday"中的no,/wyb/匹配"possibly yesterday."中的ly。字符B意义:匹配一个单词的非分界线例如:/wBn/匹配"noonday&quo

7、t;中的on,/yBw/匹配"possibly yesterday."中的ye。字符cX意义:这里的X是一个控制字符。匹配一个字符串的控制字符。例如:/cM/匹配一个字符串中的control-M。字符d意义:匹配一个数字,等价于0-9。例如:/d/或/0-9/匹配"B2 is the suite number."中的2。字符D意义:匹配任何的非数字,等价于0-9。例如:/D/或/0-9/匹配"B2 is the suite number."中的B。字符f意义:匹配一个表单符字符n意义:匹配一个换行符字符r意义:匹配一个回车符字符s意义

8、:匹配一个单个white空格符,包括空格,tab,form feed,换行符,等价于 fnrtv。例如:/sw*/匹配"foo bar."中的 bar。字符S意义:匹配除white空格符以外的一个单个的字符,等价于 fnrtv。例如:/S/w*匹配"foo bar."中的foo。字符t意义:匹配一个制表符字符v意义:匹配一个顶头制表符字符w意义:匹配所有的数字和字母以及下划线,等价于A-Za-z0-9_。例如:/w/匹配"apple,"中的a,".28,"中的5和"3D."中的3。字符W意义:匹

9、配除数字、字母外及下划线外的其它字符,等价于A-Za-z0-9_。例如:/W/或者/$A-Za-z0-9_/匹配"50%."中的%。字符n意义:这里的n是一个正整数。匹配一个正则表达式的最后一个子串的n的值(计数左圆括号)。例如:/apple(,)sorange1/匹配"apple, orange, cherry, peach."中的apple, orange,下面有一个更加完整的例子。注意:如果左圆括号中的数字比n指定的数字还小,则n取下一行的八进制escape作为描述。字符ooctal和xhex意义:这里的ooctal是一个八进制的escape值,而

10、xhex是一个十六进制的escape值,允许在一个正则表达式中嵌入ASCII码附:下表是元字符及其在正则表达式上下文中的行为的一个完整列表:字符 描述 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'n' 匹配一个换行符。序列 '' 匹配 "" 而 "(" 则匹配 "("。匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性, 也匹配 'n' 或 &#

11、39;r' 之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 'n' 或 'r' 之前的位置。*匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等价于0,。+ 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 1,。?匹配前面的子表达式零次或一次。例如,"do(es)?&

12、quot; 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 0,1。nn 是一个非负整数。匹配确定的 n 次。例如,'o2' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。n,n 是一个非负整数。至少匹配n 次。例如,'o2,' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o1,' 等价于 &

13、#39;o+'。'o0,' 则等价于 'o*'。n,mm 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。刘, "o1,3" 将匹配 "fooooood" 中的前三个 o。'o0,1' 等价于 'o?'。请注意在逗号和两个数之间不能有空格。?当该字符紧跟在任何一个其他限制符 (*, +, ?, n, n, n,m) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 &

14、quot;oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。. 匹配除 "n" 之外的任何单个字符。要匹配包括 'n' 在内的任何字符,请使用象 '.n' 的模式。(pattern)匹配pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 CONTENT 属性。要匹配圆括号字符,请使用 '(' 或 ')

15、'。(?:pattern)匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。(?=pattern)正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹配 "W

16、indows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。(?!pattern)负向预查,在任何不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说

17、,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始x|y 匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood

18、' 则匹配 "zood" 或 "food"。xyz字符集合。匹配所包含的任意一个字符。例如, 'abc' 可以匹配 "plain" 中的 'a'。xyz负值字符集合。匹配未包含的任意字符。例如, 'abc' 可以匹配 "plain" 中的'p'。a-z字符范围。匹配指定范围内的任意字符。例如,'a-z' 可以匹配 'a' 到 'z' 范围内的任意小写字母字符。a-z负值字符范围。匹配任何不在指定范

19、围内的任意字符。例如,'a-z' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。b匹配一个单词边界,也就是指单词和空格间的位置。例如, 'erb' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。B匹配非单词边界。'erB' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。cx匹配由x指明的控制字符。例如, cM 匹配一个 Control-M 或回车符。 x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。d匹配一个数字字符。等价于 0-9。D匹配一个非数字字符。等价于 0-9。f匹配一个换页符。等价于 x0c 和 cL。n匹配一个换行符。等价于 x0a 和 cJ。r匹配一个回车符。等价于 x0d 和 cM。s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 fnrtv。S匹配任何非空白字符。等价于 fnrtv。t匹配一个制表符。等价于 x09 和 cI。v匹配一个垂直制表符。等价于 x0b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论