常用正则表达式总结
发布时间:2020-12-14 00:39:24 所属栏目:百科 来源:网络整理
导读:1、特珠代码: b退格键,也就是说把输出的光标往回退格子d+表示1位或更多位数字d表示数字t表示制表符,Tabr表示回车符,把光标移动到行首而不换行n表示换行符昌,把光标移动到行首并且换行s表示代表任意空白字符,包括空格,制表符(Tab),换行符w表示
1、特珠代码: b退格键,也就是说把输出的光标往回退格子 d+表示1位或更多位数字 d表示数字 t表示制表符,Tab r表示回车符,把光标移动到行首而不换行 n表示换行符昌,把光标移动到行首并且换行 s表示代表任意空白字符,包括空格,制表符(Tab),换行符 w表示字母数字 ^表示匹配字符串的开始 $表示匹配字符串的结束 例子: 0d{2}-d{8}表示以0开头,d表示必须连续重复出现2次,再以-为分隔符,d表示必须连续重复出现8次数字,跟0dd-dddddddd含意相同 ^d{5,12}${2}代表只能不多不少重复2次,{5,12}则是必须重复最少5次,最多12次,否则都不匹配 baw*b匹配以字母a开头的单词-先是某个单词开始处(b),然后是字母a,然后是任意数量的字母或数字(w*),最后是单词结束处(b)。 bw{6}b匹配刚好6个字母/数字的单词。 注意:"+" 是和 "*" 类似的特殊代码,不同的是*代表重复任意次(可能是0次),而+则代表重复1次或更多次。 2、反义 W表示匹配任意不是字母和数字的字符 S表示匹配任意不是空白符的字符 S+表示不包含空白符的字符串。 D表示匹配任意非数字的字符 B表示匹配不是单词开头或结束的位置 [^x]表示匹配除了x以外的任意字符 [^wsyht]表示匹配除了wsyht字母以外的任意字符 <a[^>]+>表示用尖括号括起来的以a开头的字符串,再匹配除了>以外的其它字符 3、字符转义: 转义前 转义后 .->. *->* -> ^->^ #-># (->( )->) 4、重复 .表示除了换行符之外的其它字符 *表示前边的内容可以重复任意次,可能是0次 .*表示任意个字符 +表示重复一次或更多次 ?表示零或一次 {n}表示重复n次 {n,}表示重复n次或更多次 {n,m}重复n次到m次 例子; Windowsd+匹配Windows后面跟1个或更多数字 13d{9}匹配以13后面跟9个数字(中国的手机号) ^w+匹配一行的第一个单词(或整个字符串的第一个单词,具体代表哪个意思得看选项设置) 5、字符匹配: [abcde]匹配a、b、c、d、e任意一个字母 [!@#$%]匹配!、@、#、$、%任意一个字符 [0-9]匹配0到9任意一位数字,和d含意一致 [a-zA-Z0-9]匹配任意一位数字或字母,不分区分大小写,和w含意一致,和[a-zA-Z]含意一致 [^a-z]范围内取反 [#_-]匹配#_-的行 [#-_]匹配从#到_的行 [?!_-]范围内匹配字符 ^[^a-z]不以小写字母任意开头的行 匹配MAC地址的正则表达式 00:0c:29:C1:C1:FF 0123456789ABCDEF abcdef [0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-f]{2}: [0-9a-fA-F]{2} 可转换成如下: grep-E'([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}'ifcfg-eth0 6、替换(多项匹配) 0d{2}-d{8}|0d{3}-d{7}匹配两种以"-"分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445) (0d{2})[-]?d{8}|0d{2}[-]?d{8}匹配3位区号的电话号码,其中区号可以用小括号括起来,也可以不用,区号与本地号间可以用连字号或空格间隔,也可以没有间隔 d{5}-d{4}|d{5}匹配美国的邮政编码。美国邮编的规则是5位数字,或者用连字号间隔的9位数字 Windows98|Windows2000|WindosXP匹配Windows98或Windows2000或WindosXP 7、分组 用小括号来指定子表达式(也叫做分组) 获取IP地址分组展示: ((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?) IP址第1、2、3、4列可能出现的三位数 21[0-9] 22[0-9] 23[0-9] 24[0-9] 或 251,252 253 254 255 或 [01][0-9][0-9]+ 8、位置指定 (?=exp)匹配exp前面的位置 (?<=exp)匹配exp后面的位置 (?!exp)匹配后面跟的不是exp的位置 (?<!exp)匹配前面不是exp的位置 例子: (?=wsyht)匹配wsyht前面的位置 (?<=wsyht)匹配wsyht后面的位置 d{3}(?!d)匹配三位数字,而且这三位数字的后面不能是数字 (?<![a-z])d{7}匹配前面不是小写字母的七位数字 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |