您的位置:首页 >> Web开发 >> 正则表达式 >> 正文
RSS
 

正则表达式基础语法

http://www.rdxx.com 05年09月13日 23:29 Blog.ChinaUnix.net 我要投稿

关键词: 正则表达式 , 语法 , , 正则

故事开始的篇章^ ^

匹配不同类型的字符 :

字符类 匹配的字符 示例
\d 从0~9的任一数字 \d\d可以匹配72,但不匹配aa或7a
\D 非数字字符 \D\D\D匹配abc,但不匹配123
\w

任意单词字符,如A-Z、a-z、0-9,

和下划线

\w\w\w\w匹配Ab_2,但不匹配@#$%或Ab_@
\W 非单词字符 \W可以匹配@,但不匹配a
\s 任一空白字符,包括制表符,换行符,回车符,换页符和垂直制表符 匹配所有传统的空字符,包括用HTMLXML和其他标准定义的字符
\S 任一非空白字符 每一个非空字符:A%&g3等
. 任一字符 换行符除外\n
[...] 括号中的任一字符 [abc]匹配单个字符a、b或c,但不能匹配其他字符[a-z]匹配a~z的任一字符
[^..] 不在括号中的任意字符 [^abc]匹配a/b/c除外的任一字符

指定匹配位置:

定位

描述
^

其后的模式必须在字符串的开始处,如果是一个多行字符串,应位于任一行的开始。对于多行文本(包含回车符的字符串),需要设定Multiline标志

$ 前面的模式必须在字符串的末尾处,如果是一个多行字符串,应该在任一行的末尾
\A 前面的模式必须在字符串的开始处,多行标记被忽略
\z 前面的模式必须在字符串的末尾处,多行标记被忽略
\Z 前面的模式必须在字符串的末尾处,或是位于换行符前
\b 匹配一个单词的边界,实质上是单词字符和非单词字符间的点。单词字符是[a-zA-Z0-9_]中的任一字符。位于单词的开始。
\B 匹配一个非单词边界的位置,不在一个单词的开始

指定重复字符:

重复字符 含义 举例
(花括号)n 匹配前面的字符n次 x(花括号)2    匹配xx,但不匹配x或xxx
(花括号)n, 匹配前面的字符n次或更多 x(花括号)2,   匹配2个或更多的x,如xx,xxxx
(花括号)n,m 匹配卡门的字符至少n次,至多m次 x(花括号)2,4 匹配xx,xxx和xxxx,不匹配x或xxxxx
? 匹配前面的字符0次或1次,可以省略 x?匹配x或空
+ 匹配前面的字符1次或更多次 x+匹配x或xxx...
* 匹配前面的字符0次或多次 x*可以是空,或x,xxx....

           备注由于花括号不不能显示,只能用字描述,(花括号)n表示用一对花括号包含一个n

特殊字符的转义:

 转意思序列 描述
\ \
\. .
\* *
\+ +
\? ?
\| |
\( (
\) )
\{ {
\} }
\^ ^
$ $
\n 换行
\r 回车
\t tab制表位
\v 垂直制表位
\f 换页
\nnn 匹配一个3位八进制表示的字符 3表示大写C
\xnn 匹配2位十六进制的字符  \x43表示大写C
\unnnn 4位十六进制表示的Unicode字符
\cV 匹配一个控制字符,如\cV表示Ctrl+V


^[\w\W]+$       这个是正则表达式的贪婪模式

^[\w\W]+?$     这个是正则表达是的懒惰模式

^(\d[-]*)[\dxX]$  用来匹配ISBN  1-861008-23-6    1-86100-823-6

^(\d[-]*?)[\dxX]$ 同上不过这个是懒惰模式


 
 
标签: 正则表达式 , 语法 , , 正则 打印本文
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站