扩展正则(egrep)

常用符号

.      表示任意单个字符。
*      表示前面的字符连续出现任意次,包括0次。
.*     表示任意长度的任意字符,与通配符中的*的意思相同。
      表示转义符,当与正则表达式中的符号结合时表示符号本身。
|      表示"或者"之意
[  ]   表示匹配指定范围内的任意单个字符。
[^  ] 表示匹配指定范围外的任意单个字符。

单个字符匹配相关

[0-9]   表示0到9之间的任意单个数字(包括0和9)
[a-z]   表示任意小写字母。
[A-Z]   表示任意大写字母。
[a-zA-Z]   表示任意大小写字母。
[a-zA-Z0-9]  表示任意数字或字母。 
[^0-9]     表示单个非数字字符。
[^a-z]     表示单个非小写字母字符。
[^A-Z]    表示单个非大写字母字符。
[^a-zA-Z]  表示单个非字母字符。
[^a-zA-Z0-9]   表示单个非数字非字母字符。

次数匹配相关

?  表示匹配其前面的字符0或1次
+  表示匹配其前面的字符至少1次,或者连续多次,连续次数上不封顶。
{n} 表示前面的字符连续出现n次
{x,y} 表示之前的字符至少连续出现x次,最多连续出现y次
{,n} 表示之前的字符连续出现至多n次,最少0次
{n,}表示之前的字符连续出现至少n次

位置边界匹配相关

^              --表示匹配行首
$                --表示匹配行尾
^$             --表示匹配空行,这里所描述的空行表示"回车"
^abc$      --abc独占一行时,会被匹配到。
<或     --匹配单词边界,表示锚定词首,其后面的字符必须作为单词首部出现。
>或     --匹配单词边界,表示锚定词尾,其前面的字符必须作为单词尾部出现。
B           --匹配非单词边界,与正好相反。

分组与后向引用

( ) 表示分组,我们可以将其中的内容当做一个整体,分组可以嵌套。
(ab) 表示将ab当做一个整体去处理。

最全常用正则

原文地址:https://www.cnblogs.com/xujint/p/13273495.html