借鉴自: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
正则表达式:^[\s\S]*[L]+[C]+[S]+[\s]*[0-9]+[A]+[\s]*[D]+[A]+[T]+[A]+[\s\S]*$
正则表达式:^[\s\S]*[0-9a-zA-Z]+[楼]{1}[到]{1}[0-9]+[楼]{1}[的]{1}[楼]{1}[层]{1}[间]{1}[距]{1}[:]{1}[\s\S]*$
1,正则表达式基本符号
\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。
\S
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
^
表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)
$
表示匹配字符串的结束位置
*
表示匹配 零次到多次
+
表示匹配 一次到多次 (至少有一次)
?
表示匹配零次或一次
.
表示匹配单个字符
|
表示为或者,两项中取一项
( )
小括号表示匹配括号中全部字符
[ ]
中括号表示匹配括号中一个字符 范围描述 如[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匹配任何非空白字符