目录
1. 正则表达式(regular expression)
1.1 元字符
1.1.1 ^ 表示以什么开头
1.1.2 $ 表示以什么结尾
1.1.3 " . "表示任意单个字符
1.1.4 *表示前面的字符出现0次或者任意次
.*表示所有的字符
1.1.5 |表示或者
1.1.6 ^$ 表示空行
1.1.7 +表示前面字符出现1次以上
1.2 方括号表达式
1.2.1 [abc] 表示 a,b,c任意一个
1.2.2 [a-z] 表示小写字母
1.2.3 [A-Z] 表示大写字母
1.2.4 [0-Z] 表示数字和字母
1.2.5 ^在方括号里面和外面的区别
1.3 []和 {}组合使用
2.从文本里面过滤出所有邮箱地址
3. 练习
regular 常规,规则的
expression 表达式,公式
什么是正则?
使用一些特殊字符+字母和或数字按照某个规则组合成一 个公式用来表示某个意思这就叫正则表达式
为什么需要使用它?
查找的场景特别适合使用正则,大海捞针
正则用在哪里?
正则表达式是一种方法,很多命令可以采用这种方法
vim ,grep,sed,awk等都支持正则表达式
######################################################
元字符:有特殊含义的字符,可以表示其他的含义
[root@localhost 7.1]# cat sc.html | egrep "^Welcome to sanchuang!
三创同乐欢迎您!
######################################################
[root@localhost 7.1]# cat sc.html | egrep "/p>$"
address: hunan.changsha.furong
teacher feng PhoneNO: 18908495097
teacher feng wechat: 18908495097
######################################################
示例:因为 . 表示任意单个字符,所以
"lizhuofu.{2}" 表示以lizhuofu开头的后面任意两个单个字符
"lizhuofu.{4}" 表示以lizhuofu开头的后面任意四个单个字符
"lizhuofu.{4,6}" 表示以lizhuofu开头的后面任意4 - 6个单个字符
######################################################
######################################################
######################################################
######################################################
######################################################
[abc] = "a|b|c"
######################################################
######################################################
######################################################
######################################################
^在方括号里面表示对字符取反
^在方括号里面表示以某个字符开头
示例:查找不是以数字开头的行
######################################################
[0-9]{2} 表示0-9里面可以取2次的意思,随便你取哪一个,取两次
[0-9]{2,5} 表示从0-9里可以取2-5次的数字,随便你取哪个,至少两次,最多取5次
[0-9]{2,} 表示从0-9里可以取两次以上,最少2次
a{2} 表示花括号前面的a连续出现两次
abc{2}表示abc中的c出现2次
######################################################
文本:
root@localhost lianxi]# cat mail.txt
wang sheng hu [email protected] fjdkfjd
[email protected] fjdkfjd
zhao [email protected]
[email protected] fjdkfjdkjfk
15、写一个表示邮箱的正则
[email protected] changsha
[email protected] fengdeyong
[email protected] sanchuang
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]/fjdkfjk/fjdk
[root@localhost lianxi]#
字符串1 : a-Z_0-9
字符串2:0-Z
字符串3:a-Z
######################################################