正则表达式点滴

1.元字符

元字符

名称

匹配对象

.

点号

单个任意字符

[…]

字符组

列出的任意字符

[^…]

排除型字符组

未列出的任意字符

^

脱字符

行的起始位置

$

美元符

行的结束位置

\<

反斜线-小于

单词的起始位置*

\>

反斜线-大于

单词的结束位置 *

|

竖线

匹配分隔两边的任意一个表达式

(…)

括号

限制竖线的作用范围

2."表示重复的元字符"

 

次数下限

次数上限

含义

?

1

可以不出现,也可以只出现一次(单次可选

*

可以出现无数次,也可以不出现(任意次数均可

+

1

可以出现无数次,但至少要出现一次(至少一次

3.egrep的元字符总结*

匹配单个字符的元字符

 

元字符

匹配对象

.

点号

匹配单个任意字符

[…]

字符组

匹配单个列出的字符

[^…]

排除型字符组

匹配单个未列出的字符

\char

转义字符

若\char是元字符,或转义序列无特殊含义时,匹配char对应的普通字符

提供计数功能的元字符

?

问号

容许匹配一次,但非必须

*

星号

可以匹配任意多次,也可以不匹配

+

加号

至少需要匹配一次,至多可以任意多次

[min,max]

区间量词*

至少需要min次,至多容许max次

匹配位置的元字符

^

脱字符

匹配一行的开头位置

$

美元符

匹配一行的结束位置

\<

单词分界符*

匹配单词的开始位置

\>

单词分界符*

匹配单词的结束位置

其他元字符

|

alternation

匹配任意分隔符的表达式

(…)

括号

限定多选结构的范围,标注量词作用的元素,为反向引用"捕获"文本

\1,\2,…

反向引用*

匹配之前的第一、第二组括号内的字表达式匹配的文本

4.简记法

\t

制表符

\n

换行符

\r

回车符

\s

任何"空白"字符(例如空格符、制表符、进纸等等)

\S

\s之外的任何字符

\w

[a-zA-Z0-9]

\W

除\w之外的任何字符,即[^a-zA-Z0-9]

\d

[0-9],即数字

\D

除\d之外的任何字符,即[^0-9]

 PS.有些带*的表示某些版本的egrep不支持

posted @ 2007-10-19 13:55  神奇小子  阅读(202)  评论(0编辑  收藏  举报