正则表达式学习总结

正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

 

正则表达式用途

1.测试字符串内的模式。

例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。

2.替换文本。

 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。

3.基于模式匹配从字符串中提取子字符串。

可以查找文档内或输入域内特定的文本。

 

正则表达式常用规则摘要

字符

x

字符 x

 

\\

反斜线字符

 

\0n

带有八进制值 0 的字符 n (0 <= n <= 7)

 

\0nn

带有八进制值 0 的字符 nn (0 <= n <= 7)

 

\0mnn

带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)

 

\xhh

带有十六进制值 0x 的字符 hh

 

\uhhhh

带有十六进制值 0x 的字符 hhhh

 

\t

制表符 ('\u0009')

 

\n

新行(换行)符 ('\u000A')

 

\r

回车符 ('\u000D')

 

\f

换页符 ('\u000C')

 

\a

报警 (bell) 符 ('\u0007')

 

\e

转义符 ('\u001B')

 

\cx

对应于 x 的控制符

 

字符类

[abc]

abc(简单类)

ab:false;    c:true

 

[^abc]

任何字符,除了 abc(否定)

c:false; ef:false; e:true

[a-zA-Z]

azAZ,两头的字母包括在内(范围)

 

[a-d[m-p]]

admp[a-dm-p](并集)

 

[a-z&&[def]]

def(交集)

 

[a-z&&[^bc]]

az,除了 bc[ad-z](减去)

 

[a-z&&[^m-p]]

az,而非 mp[a-lq-z](减去)

 

预定义字符类

.

任何字符(与行结束符可能匹配也可能不匹配)

 

\d

数字:[0-9]

 

\D

非数字: [^0-9]

 

\s

空白字符:[ \t\n\x0B\f\r]

 

\S

非空白字符:[^\s]

 

\w

单词字符:[a-zA-Z_0-9]

 

\W

非单词字符:[^\w]

 

数量词

X?

X,一次或一次也没有

XX:false; X:true

X*

X,零次或多次

X:true XX:true;

“”:true

X+

X,一次或多次

“”:false; X:true

X{n}

X,恰好 n

 

X{n,}

X,至少 n

 

X{n,m}

X,至少 n 次,但是不超过 m 次;例X{2,3}

X:false;XXX:true

posted @ 2013-12-31 10:44  Cynosure鱼  阅读(228)  评论(0编辑  收藏  举报