- 求职 : Linux运维
- 论坛徽章:
- 203
|
正则就是有一定规律的字符串,有几个特殊符号很关键(. ? + * | ),我们平时不仅可以用命令行工具grep/sed/awk去引用正则,
而且还可以把正则嵌入在nginx、apache、甚至php、python编程语言当中
正则表达式
单词边界
锚定 ^开始 $结束
分块 ()
逻辑或 |
范围(字符集) 任何字符 范围内[] 范围外[^]
数量 固定个数 {4} 范围{4,6}
重复(贪婪性和惰性) ? 0-1 + 1-无穷 * 0-无穷
-----------------------------------------------
常用正则
. 点: 匹配除换行符以外的任意字符
? 问号: 重复0次或1次
+ 加号: 重复1次或更多次
* 星号: 重复0次或更多次
\d :匹配数字
^ : 匹配字符串的开始
$ : 匹配字符串的结尾
{n} : 重复n次
{n,} : 重复n次或更多次
[c] : 匹配单个字符c
[a-z] : 匹配a-z小写字母的任意一个
$1 : 表示正则捕捉到的内容
^/(.*)$ 中 ^/ 表示已 / 开头,.表示匹配除换行符以外的任意字符,*表示重复0次或更多次,$ 表示匹配字符串的结束,() 表示捕获(匹配)内容
小括号()之间匹配的内容,可以在后面通过$1来引用,$2表示的是前面第二个()里的内容 sed \1\2\3 分段
\. 转义字符
+ 匹配除换行符以外的任意字符
以下字符在匹配其本身时,通常需要进行转义。在实际应用中,根据具体情况,需要转义的字符可能不止如下所列字符
. $ ^ { [ ( | ) * + ? \ |
|