说明
关于正则表达式,对于开发来说,真是太重要了。这个东西主要是用来提取字符串的,所有语言都支持正则表达式,不管是python还是Java等等,还有性能测试工具Jmeter,而且在sql中也支持正则表达式。
如果我们要学习Linux,感觉正则表达式,是一个绕不过去的话题。比如像Linux中经常用到的命令,find,grep,sed,awk都支持正则表达式。
元字符
在茫茫的字符中,我们如何寻找它呢?
第一个概念,元字符,就是我们要匹配的字符串中的单个字符长的是什么样子?
所以我们实际匹配的过程中,需要去分析我们的字符串的特点,比如包含有啥字母,有啥符号,有啥数字,这些特性我们可以提取出来,就是元字符
比如[a-z]代表能够匹配26个字母中的任何一个
比如[0-9] (也可以用\d代替)代表能够匹配0-9的数字中的任何一个
比如[^0-5]除了012345,其它任何字符都行
有一点需要注意,比如要匹配的字符是那种关键字符如*?+等等,需要在前面加\让其失去关键字符的含义
当然还有其他很多元字符,可以参考文章
https://www.runoob.com/regexp/regexp-metachar.html
限定符
第二个概念,限定符,就是我们要匹配的字符串中的字符(也叫元字符)有多少个?我们