- 正则表达式:可以过滤可以表达的行。正则表达式需要编辑工具来实现。
常用字符:
正则:“^n” #带表以什么开头。正则:“n$” #代表以什么结尾。正则:“^$” #代表空格。正则:“.” #.代表左右吻合的任意一个字符如(r.t:root,rwwt)。正则:“*” #*代表0个或多个任意一个字符。也可以用\?一个意思0个或一个。正则:“.*” #代表包含左右都有并全部包含的如。(root,rootrsst)正则:“字母\[3\]” #代表过滤次数。3代表次数。正则:[^m] #非m的字符。正则:+ #匹配+前字符1次或多次
正则表达式字符
^ # 行首定位 $ # 行尾定位. # 匹配除换行符以外的任意字符* # 匹配0或多个重复字符+ # 重复一次或更多次? # 重复零次或一次? # 结束贪婪因子 .*? 表示最小匹配[] # 匹配一组中任意一个字符[^] # 匹配不在指定组内的字符\ # 用来转义元字符< # 词首定位符(支持vi和grep)# 词尾定位符(支持vi和grep) love>x\{m\} # 重复出现m次x\{m,\} # 重复出现至少m次x\{m,n\} # 重复出现至少m次不超过n次X? # 匹配出现零次或一次的大写字母 XX+ # 匹配一个或多个字母 X() # 括号内的字符为一组(ab|de)+ # 匹配一连串的(最少一个) abc 或 def;abc 和 def 将匹配[[:alpha:]] # 代表所有字母不论大小写[[:lower:]] # 表示小写字母 [[:upper:]] # 表示大写字母[[:digit:]] # 表示数字字符[[:digit:][:lower:]] # 表示数字字符加小写字母
元字符
\d # 匹配任意一位数字 \D # 匹配任意单个非数字字符 \w # 匹配任意单个字母数字下划线字符,同义词是 [:alnum:] \W # 匹配非数字型的字符
字符类:空白字符
\s # 匹配任意的空白符 \S # 匹配非空白字符 \b # 匹配单词的开始或结束 \n # 匹配换行符 \r # 匹配回车符 \t # 匹配制表符 \b # 匹配退格符 \0 # 匹配空值字符
字符类:锚定字符
\b #匹配字边界(不在[]中时)\B # 匹配非字边界\A # 匹配字符串开头\Z # 匹配字符串或行的末尾\z #只匹配字符串末尾\G # 匹配前一次m//g离开之处
捕获
(exp) # 匹配exp,并捕获文本到自动命名的组里(?exp) # 匹配exp,并捕获文本到名称为name的组里,也可以写(?'name'exp)(?:exp) # 匹配exp,不捕获匹配的文本,也不给此分组分配组号
零宽断言
(?=exp) # 匹配exp前面的位置 (?<=exp) # 匹配exp后面的位置 (?!exp) # 匹配后面跟的不是exp的位置 (?