正则表达式的应用是在Linux文本做查找的时候,相当于Ctrl+F的查找功能,他是由一串字符和元字符组合而成的字符串。
在开发中,经常使用到一些正则表达式,用来进行匹配相应的字符串
通配符
1、任一单字符: “.”
点字符串可以匹配任一一个字符,但是不能匹配换行符,一个点只能匹配一个字符,示例 grep 'r..t' /etc/passwd
2、“ * ” 星号
星号可以直接匹配前的一个0次或者任意多次,可以和点符号一起使用 ,“ .* ”代表任意长度的不包含换行的字符。
3、“ {n,m} ”符号
使用“{n,m}”符号则能更加灵活地控制字符的重复次数,{n} 匹配前面的字符n次,{n,} 匹配前面的字符至少n次以上(含n次),{n,m} 匹配前面的字符n到m次
案例 [root@localhost ~]# grep 'ro\{0,\}t'
、 [root@localhost ~]# grep 'ro\{0,\}t'
4、“^”符号
这个尖角号,用来匹配开头的符号,如想要查询以root开头的就可以使用 grep '^root' /etc/passwd
5、“$”符号
这是表示以某个符号作为结尾的,可以和尖角号一起使用,可以查看以某个字符开头和以某个字符结尾的文本。“^ ”这个是特殊的,表示这个行为空。 ‘ g r e p ′ r . ∗ h ”这个是特殊的,表示这个行为空。`grep '^r.*h ”这个是特殊的,表示这个行为空。‘grep′r.∗h’ /etc/passwd`
6、“[]”符号
这个是匹配在方括号中出现的任意一个字符。就可以是匹配ABCD的任意一个 [ABCD]
,匹配所有的字母,中间的-是限定范围的意思[A-Za-z]
, 匹配不属于ABCD的字符 [^A-D]
,手机号规则^1[358][0-9]\{9\}
7、“\”符号
这是一个转义字符,比如说是在任意长度的匹配 \.*
,转义\字符就是\\
, 范围限定的-修改为区号中的分隔号[\ \-]