LINUX SHELL 正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式
该模式描述在查找文字主体时待匹配的一个或多个字符串
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配
\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符
例如,'n' 匹配字符 "n"
'\n' 匹配一个换行符
序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
* 匹配前面的子表达式零次或多次
例如,zo* 能匹配 "z" 以及 "zoo"
* 等价于{0,}
+ 匹配前面的子表达式一次或多次
例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"
+ 等价于 {1,}
匹配前面的子表达式零次或一次
例如,"do(es)
" 可以匹配 "do" 或 "does" 中的"do"
等价于 {0,1}
{n} n 是一个非负整数
匹配确定的 n 次
例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o
{n,} n 是一个非负整数
至少匹配 n 次
例如,'o{2,} ' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o
'o{1,} ' 等价于 'o+'
'o{0,} ' 则等价于 'o*'
{n,m} m 和 n 均为非负整数,其中 n