linux-正则表达式

(转)正则表达式总结

模式修饰符的可选参数

参数

含义

i

忽略大小写

g

全局匹配

m

多行匹配 

举例:/test/ig 

字符类:单个字符和数字

元字符/元符号

匹配情况

.

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

[a-z0-9]

匹配括号中的字符集中的任意字符

[^a-z0-9]

匹配任意不在括号中的字符集中的任意字符

\d

匹配数字

\D

匹配非数字,同[^0-9]

\w

匹配字母和数字及_

\W

匹配非字母和数字及_

 

字符类:空白字符

元字符/元符号

匹配情况

\0

匹配null字符

\b

匹配空格字符

\f

匹配进纸字符

\n

匹配换行符

\r

匹配回车字符

\t

匹配制表符

\s

匹配空白字符、空格、制表符和换行符

\S

匹配非空白字符

 

字符类:锚字符

元字符/元符号

匹配情况

^

行首匹配

$

行尾匹配

\A

只有匹配字符串开始处

\b

匹配单词边界,词在[]内时无效

\B

匹配非单词边界

\G

匹配当前搜索的开始位置

\Z

匹配字符串结尾处或行尾

\z

只匹配字符串结束处

 

字符类:重复字符

元字符/元符号

匹配情况

x?

匹配0个或1个x

x*

匹配0个或任意多个x

x+

匹配至少一个x

(xyz)+

匹配至少一个(xyz)

x{m,n}

匹配最少m个,最多n个x

 

字符类:替代字符

元字符/元符号

匹配情况

this|where|logo

匹配this或where或logo中任意一个

 

字符类:记录字符

元字符/元符号

匹配情况

(string)

用于反向引用的分组

\1或$1

匹配第一个分组中的内容

\2或$2

匹配第二个分组中的内容

\3或$3

匹配第三个分组中的内容

 

 

贪婪

惰性

+

+?

?

??

*

*?

{n}

{n}?

{n,}

{n,}?

{n,m}

{n,m}?

posted on 2018-08-06 22:07  手握太阳  阅读(88)  评论(0编辑  收藏  举报

导航