1. 什么是正则表达式
正规表示法就是处理字符串的方法,他是以行为单位来进行字符串的处理行为, 正规表示法透过一些特殊符号的辅助,可以让使用者轻易的达到『搜寻/删除/取代』某特定字符串的处理程序!
我的理解:用一些特殊的符号能够表达出特殊格式的字符串。
2. 正在表达式基本用法
- grep -n 't[ae]st' regular_express.txt
查找tast或者test存在的行,[]表示取里面字符集的一个字符 - grep -n '[^g]oo' regular_express.txt
[]中的^表示非的意思,查找包含oo的行,但是oo前面不能是g - grep -n '[^a-z]oo' regular_express.txt
-表示连续,查找包含oo的行,但是oo前面不能有小写字母 - grep -n '[0-9]' regular_express.txt
取得有数字的行 - grep -n '^the' regular_express.txt
^ 表示行首的意思,查找以the打头的行 - grep -n '^[a-z]' regular_express.txt
开头是小写字母的行 - grep -n '[a-zA-Z]' regular_express.txt
开头不是英文字母的行 - grep -n '.' regular_express.txt表示行尾,查找以小数点结尾的行
- grep -n 'g..d' regular_express.txt
小数点表示一定有一个任意字符,查找包含g??d 的字符串,总共4个字符,起头是g结束是d。 - grep -n 'goo*g' regular_express.txt
星号表示重复 0 个或多个前面的 RE 字符,g和g之间至少有1个o。 - grep -n 'g.g' regular_express.txt
. 就代表零个或多个任意字符 - grep -n 'go{2,5}g' regular_express.txt
{}为重复前面的RE字符限定范围,这里表示o重复2到5次