正则表达式
正则表达式是一种字符特征的描述方式,用来在文本中匹配到用户想要的东西,按照从表达式最左端第一个字符开始,左到右依次一个一个字符进行匹配.
正则表达式与通配符:
1.正则表达式一般用于处理文本内容,常用命令有grep,sed,awk,vim等通配符一般用于匹配文 件名,常用命令有find,ls,cp等
2.各符号的含义不尽相同.
什么地方使用正则表达式:
vim grep sed awk nginx apache mail垃圾邮件过滤。。。 perl java python 等等都使用正则
构成:
1.元字符(基本元字符、扩展元字符)
2.除元字符之外的任意字符都是表示他字面意思的正则表达式
特征:
贪婪匹配
基本元字符:
字符匹配:
. 任意单个字符
[] []内的任意单个字符
[^] 首位为^表示取反
[a-z] 小写字母
[0-9] 数字
[A-Z] 大写字母
[a-zA-Z] 所有字母
[^a-zA-Z0-9] 所有符号
次数匹配:
* 匹配*前面的字符重复0次到多次
\{n\} 匹配前面的字符刚好重复n次
\{n,m\} 前面的字符重复n次到m次
\{,n\} 前面的字符最多重复n次
\{n,\} 前面的字符最少重复n次
位置匹配:
^ 行首
$ 行尾
\< 词首
\> 词尾
扩展元字符:
+ 前面的字符至少重复1次
? 前面的字符重复0次或1次
| 或
{} 次数匹配
() 分组
\数字 引用分组的内容 1-9
前向: 在正则中引用
后向: 在其他地方引用, \0表示引用正则匹配到的内容 \0 ⇔ &
编写正则表达式的3 个步骤:
1 知道要匹配的内容以及它如何出现在文本中。
2 编写一个模式来描述要匹配的内容
3 测试模式来查看它匹配的内容