您的位置:首页 > 其它

正则表达式学习笔记

2008-03-31 17:37 323 查看
1. 特殊字符

对于文字字符,有11个字符被保留作特殊用途。他们是

[ ] \ ^ $ . | ? * + ( )

如果想在正则表达式中将这些字符用作文本字符,需要用反斜杠“\”对其进行换码

2.正则表达式有两种类型的引擎:文本导向和正则导向

·正则导向的引擎总是返回最左边的匹配

3.字符集是由一对方括号“[]”括起来的字符集合

4.取反字符集

在左方括号“[”后面紧跟一个尖括号“^”,将会对字符集取反。结果是字符集将匹配任何不在方括号中的字符。

5.字符集的简写

<<\d>>代表<<[0-9]>>

<<\w>>代表单词字符

<<\s>>代表“白字符”(即空格回车)

取反字符集的简写

<<[\S]>> = <<[^\s]>>

<<[\W]>> = <<[^\w]>>

<<[\D]>> = <<[^\d]>>

6.使用?*或+ 进行重复

?:告诉引擎匹配前导字符0次或一次。事实上是表示前导字符是可选的。

+:告诉引擎匹配前导字符1次或多次

*:告诉引擎匹配前导字符0次或多次

7.限制性重复

许多现代的正则表达式实现,都允许你定义对一个字符重复多少次。词法是:{min,max}。min和max都是非负整数。如果逗号有而max被忽略了,则max没有限制。如果逗号和max都被忽略了,则重复min次。

8.使用“.”匹配几乎任意字符

9.字符串开始和结束的锚定

锚定和一般的正则表达式符号不同,它不匹配任何字符。相反,他们匹配的是字符之前或之后的位置。“^”匹配一行字符串第一个字符前的位置。< <^a>>将会匹配字符串“abc”中的a。<<^b>>将不会匹配“abc”中的任何字符。

类似的,$匹配字符串中最后一个字符的后面的位置。所以<<c$>>匹配“abc”中的c。

·使用“^”和“$”作为行的开始和结束锚定

· 绝对锚定

<<\A>>只匹配整个字符串的开始位置,<<\Z>>只匹配整个字符串的结束位置。即使你使用了“多行模式”,<<\A>>和<<\Z>>也从不匹配新行符。

详细内容地址:http://www.blueidea.com/tech/program/2006/3443.asp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: