介绍
正则表达式(Regual Expression)使用一类特殊字符以及文本字符来描述某些字符串匹配规则的工具,在linux当中主要用于:grep(搜索) 、sed(编辑)、 awk(格式化输出) 。
分类
- 基本正则表达式(BRE)
- 扩展正则表达式(ERE)
基本正则表达式符号
符号 |
作用 |
^ |
行首定位符,^a表示匹配以a开头的 |
$ |
行尾定位符,a$表示匹配以a结尾的 |
. |
匹配任意一个字符,不能匹配空行 |
* |
匹配前一个字符0-N次 |
[abc] |
匹配集合里的任意一个字符,a或者b或者c。[a-z]小写字母,[A-Z]大写字母,[0-9]数字。 |
[^abc] |
除了a,b,c以外的其他字符 |
\ |
转移字符,让特殊字符失去特殊的含义,当成普通文本显示 |
扩展正则表达式符号
符号 |
作用 |
+ |
匹配前一个字符1-N次 |
? |
匹配前一个字符0-1次| |
| 和 ()
|
圆括号表示一组可选值,| 是 or的意思,(ha|ba|fa),匹配ha or ba or fa |
{n,m} |
匹配前面一个字符n 到 m 次,a{n} 匹配前一个字符n次,a{n,} 最少n次,a{,m} 最多m次 |
Perl正则表达式符号
符号 |
作用 |
\d |
匹配0-9之间的任意一个字符,相当于[0-9] |
\D |
匹配非数字 |
\s |
匹配任何空白字符,包括空格、制表符、换页符等 |
\S |
匹配非空白字符 |
网友评论