正则表达式30分钟入门教程(9)

还有些什么东西没提到

上边已经描述了构造正则表达式的大量元素,但是还有很多没有提到的东西。下面是一些未提到的元素的列表,包含语法和简单的说明。你可以在网上找到更详细的参考资料来学习它们--当你需要用到它们的时候。如果你安装了MSDN Library,你也可以在里面找到.net下正则表达式详细的文档。

这里的介绍很简略,如果你需要更详细的信息,而又没有在电脑上安装MSDN Library,可以查看关于正则表达式语言元素的MSDN在线文档。

表7.尚未详细讨论的语法

 

代码/语法

 

说明

 

\a

 

报警字符(打印它的效果是电脑嘀一声)

 

\b

 

通常是单词分界位置,但如果在字符类里使用代表退格

 

\t

 

制表符,Tab

 

\r

 

回车

 

\v

 

竖向制表符

 

\f

 

换页符

 

\n

 

换行符

 

\e

 

Escape

 

\0nn

 

ASCII代码中八进制代码为nn的字符

 

\xnn

 

ASCII代码中十六进制代码为nn的字符

 

\unnnn

 

Unicode代码中十六进制代码为nnnn的字符

 

\cN

 

ASCII控制字符。比如\cC代表Ctrl+C

 

\A

 

字符串开头(类似^,但不受处理多行选项的影响)

 

\Z

 

字符串结尾或行尾(不受处理多行选项的影响)

 

\z

 

字符串结尾(类似$,但不受处理多行选项的影响)

 

\G

 

当前搜索的开头

 

\p{name}

 

Unicode中命名为name的字符类,例如\p{IsGreek}

 

(?>exp)

 

贪婪子表达式

 

(?<x>-<y>exp)

 

平衡组

 

(?im-nsx:exp)

 

在子表达式exp中改变处理选项

 

(?im-nsx)

 

为表达式后面的部分改变处理选项

 

(?(exp)yes|no)

 

把exp当作零宽正向先行断言,如果在这个位置能匹配,使用yes作为此组的表达式;否则使用no

 

(?(exp)yes)

 

同上,只是使用空表达式作为no

 

(?(name)yes|no)

 

如果命名为name的组捕获到了内容,使用yes作为表达式;否则使用no

 

(?(name)yes)

 

同上,只是使用空表达式作为no

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8204f0b7878f88b8a35e2b455e050f87.html