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}? |