# cat /etc/ssh/sshd_config| grep -vE '^#|^$'
# cat /etc/ssh/sshd_config| grep -vE '^(#|$)'
# cat ./conf/nginx.conf |grep -vE '^#|^$|^[ ]*#' #屏蔽空行、以#开头行、以若干空格加#号开头
# cat ./conf/nginx.conf |grep -vE '^#|^$|^ {0,}#' #与上面 '^#|^$|^[ ]*#' 等效
########################################################################################################################
*
零次或多次匹配前面的字符或子表达式。等效于 {0,}。
zo* 与 ’z’ ‘zooo’ 匹配
+
一次或多次匹配前面的字符或子表达式,等效于{1,}。
zo+ 与 ‘zo’ 和 ‘zoo’ 匹配,但与 ‘z’ 不匹配。
?
零次或一次匹配前面的字符或子表达式。等效于{0,1}。
zo? 与 'z' 和 ''zo 匹配,但与 'zoo' 不匹配
^
匹配搜索字符串开始的位置。
$
匹配搜索字符串结尾的位置。
.
匹配除换行符\n之外的任何单个字符。
a.c 与 'abc' 'alc' 'a-c' 匹配
[ ]
标记括号表达式的开始和结尾。
{ }
标记限定符表达式的开始和结尾。
a{2,3}与 aa aaa 匹配
( )
标记子表达式的开始和结尾。
|
指示在两个或多个项之间进行选择
(z|f)ood 与zood food匹配
/
\
将下一字符标记为特殊字符、文本、反向引用或八进制转义符。
\n换行
\f 换页
\r 回车
\t tab字符
\s 任何空白字符
\S 任何非空白字符
\b
与一个字符边界匹配,即字与空格间的位置
er\b 与nerver中的er匹配,但与verb中的er不匹配。
\B
非边界字匹配
er\B 与nerver中的er不匹配,但与verb中的er匹配。
\d
数字字符匹配,等效于[0-9]
\D
非数字字符匹配,等效于[^0-9]
\w
\W
[xyz]
字符集,与任何一个指定字符匹配
[abc]与plain中的a匹配
[^xyz]
方向字符集,与未指定的任何字符匹配。
{n}
正好匹配n次
{n,}
至少匹配n次
{n,m}
至少匹配n次,至多m次。