正则表达式基本语法

1. 正则表达式的语法:

代码

说明

.

匹配除换行符以外包括空格和Tab键的任意字符

*

重复前一个字符或一组表达式零次或更多次

?

重复前一个字符或一组表达式零次或一次

+

重复前一个字符或一组表达式一次或更多次;

-(下划线)

匹配除了换行符以外的任意字符

\

转义符,将特殊字符转化为普通字符,取消后面跟着的字符的特殊意义;比如如果你想查找“.”,或者“*”,就需要用“\”。因此,你应该使用“\.”和“\*”。当然,要查找\本身,你也得用“\\.”

|

或的表达式,表示分支条件,匹配代码左侧的表达式或匹配代码右侧的表达式两者之一;注意:当左侧的表达式匹配条件相符的话,不再检测右侧的表达式

^

匹配字符串的开始的一个位置,同时也表示否的表达式,表示不想被匹配的字符,一般和[]一起使用。也匹配输入字符串的开始

$

匹配字符串的结束的一个位置

()

匹配一组表达式,该表达式可以由其它特殊字符组成

[]

匹配包含在其中的单个字符

\w

匹配任意一个字母或数字或下划线或汉字等

\W

匹配任意不是字母,数字,下划线,汉字的字符

\s

匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等

\S

匹配任意不是空白符的字符,等价于[^\f\n\r\t\v]

\d

匹配任意一位数字,等价于[0~9]

\D

匹配任意非数字的字符,等价于[^0~9]

\b

匹配一个单词的开始或结束,也就是指单词和空格间的位置

\B

匹配不是单词开头或结束的位置

\f

匹配一个换页符

\n

匹配一个换行符

\r

匹配一个回车符

\t

匹配一个制表符

\v

匹配一个垂直制表符

{n}

重复n次,只对邻近的字符或一组表达式起作用

{n,m}

重复n到m次,只对邻近的字符或一组表达式起作用

(exp)

匹配exp,并捕获文本到自动命名的组里

(?<name>exp)

匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)

(?:exp)

匹配exp,不捕获匹配的文本,也不给此分组分配组号

(?=exp)

匹配exp前面的位置

(?<=exp)

匹配exp后面的位置

(?!exp)

零宽度负预测先行断言,断言此位置的后面不能匹配表达式exp。

(?<!exp)

匹配前面不是exp的位置

*?

重复任意次,但尽可能少重复

+?

重复1次或更多次,但尽可能少重复

??

重复0次或1次,但尽可能少重复

{n,m}?

重复n到m次,但尽可能少重复

{n,}?

重复n次以上,但尽可能少重复

2.    “ .”与 “\b” 的区别:

    . 表示匹配除换行符以外包括空格和Tab键的任意字符;\b 则表示匹配一个单词的开始或结束,也就是指单词和空格间的位置。

 
posted @ 2012-07-30 17:44  琉璃彩虹  阅读(119)  评论(0)    收藏  举报