借鉴自:https://blog.csdn.net/u012421852/article/details/79299530
最全正则表达式大全 https://www.cnblogs.com/fozero/p/7868687.html
https://blog.csdn.net/u010760374/article/details/79974586
正则表达式:^(\s*)\r\n
1,正则表达式基本符号
^
表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)
$
表示匹配字符串的结束位置
*
表示匹配 零次到多次
+
表示匹配 一次到多次 (至少有一次)
?
表示匹配零次或一次
.
表示匹配单个字符
|
表示为或者,两项中取一项
( )
小括号表示匹配括号中全部字符
[ ]
中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]
{ }
大括号用于限定匹配次数 如 {n}表示匹配n个字符 {n,}表示至少匹配n个字符 {n,m}表示至少n,最多m
\
转义字符 如上基本符号匹配都需要转义字符 如 * 表示匹配*号
\w
表示英文字母和数字
\W
非字母和数字
\d
表示数字
\D
非数字
3,什么是不可打印字符?
print 打印时在shell输出端,看不到它。比如print \t执行后,shell输出端看不到\t,因为\t是一个制表符。像\t这类字符就是不可打印字符。
4,哪8个不可打印字符?
8个不可打印字符\cx,\f,\n,\r,\s,\S,\t、\v
\cx匹配由x指明的控制字符,x值必需为A-Z或a-z的大小写字符,\cA匹配一个Control-A控制字符
\f匹配一个换页符,leaf
\n匹配一个换行符,next
\r匹配一个回车符,enter
\t匹配一个制表符,table
\v匹配一个垂直制表符,vertical
\s匹配任何空白字符,等效于[\r\n\r\t\v]
\S匹配任何非空白字符