正则表达式从入门到精通(4)
.
表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
还有些什么东西没提到
我已经描述了构造正则表达式的大量元素,还有一些我没有提到的东西。下面是未提到的元素的列表,包含语法和简单的说明。你可以在网上找到更详细的参考资料来学习它们--当你需要用到它们的时候。如果你安装了MSDN Library,你也可以在里面找到关于.net下正则表达式详细的文档。
联系作者
好吧,我承认,我骗了你,读到这里你肯定花了不止30分钟.相信我,这是我的错,而不是因为你太笨.我之所以说"30分钟",是为了让你有信心,有耐心继续下去.既然你看到了这里,那证明我的阴谋成功了.被忽悠的感觉很爽吧?
要投诉我,或者觉得我其实可以做得更好,或者有任何其它问题,欢迎来我的博客让我知道.
网上的资源及本文参考文献
- 微软的正则表达式教程
- System.Text.RegularExpressions.Regex类(MSDN)
- 专业的正则表达式教学网站(英文)
- 关于.Net下的平衡组的详细讨论(英文)
- Mastering Regular Expressions (Second Edition)
更新说明
- 2006-3-27 第一版
- 2006-10-12 第二版
- 修正了几个细节上的错误和不准确的地方
- 增加了对处理中文时的一些说明
- 更改了几个术语的翻译(采用了MSDN的翻译方式)
- 增加了平衡组的介绍
- 放弃了对The Regulator的介绍,改用Regex Tester
- 2007-3-12 V2.1
- 修正了几个小的错误
- 增加了对处理选项(RegexOptions)的介绍
- 2007-5-28 V2.2
- 重新组织了对零宽断言的介绍
- 删除了几个不太合适的示例,添加了几个实用的示例
- 其它一些微小的更改
- 2007-8-3 V2.21
- 修改了几处文字错误
- 修改/添加了对$,\b的精确说明
- 承认了作者是个骗子
- 给RegexTester添加了Singleline选项的相关功能
- 2008-4-13 v2.3
- 调整了部分章节的次序
- 修改了页面布局,删除了专门的参考节
- 针对读者的反馈,调整了部分内容
顶(0)
踩(0)
上一篇:CSS 文字加阴影变3D效果演示
下一篇:40种网站设计常用技巧
- 最新评论
