HIT2019春软件构造->正则表达式语法
普通字符:匹配与之相同的字符
字母、数字、汉字、下划线、没有特殊定义的标点符号。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
简单的转义字符:
| \n |
换行符 |
| \t |
制表符 |
| \\ |
代表\本身 |
| \^,\$,\.,\(,\),\{,\},\?,\+,\*,\|,\[,\] |
匹配这些字符本身 |
标准字符集合:与多种字符相匹配的表达式
注:区分大小写,大写即相反的意思
| \d |
任意一个数字,0-9之间 \D:任意一个不是数字的字符 |
| \w |
任意一个字母或数字或下划线,A~Z、a~z、0~9、_ |
| \s |
空格、制表符、换行符等空白字符中任意一个 |
| . |
小数点可以匹配任意一个字符(除换行符),若要匹配包括“\n”在内,用“[\s\S]” |
自定义字符集合:[ ]方括号匹配方式,匹配方括号中任意一个字符
| [ab5@] |
匹配“a”/“b”/“5”/“@”,或的关系即取∪ |
| [^abc] |
匹配“a”“b”“c”之外的任意字符 |
| [f-k] |
匹配“f~k” |
| [^A-F0-3] |
匹配除“A~F”,“0~3” |
注:正则表达式的特殊符号,被包含到中括号中,失去特殊意义(^,-除外)
标准字符集合,除小数点外,如果被包含于中括号,自定义字符集合将包含该集合。
[\d.\-+] 匹配:数字、小数点、+、-
量词
| {n} |
表达式重复n次 |
| {m,n} |
表达式至少重复m次,最多重复n次 |
| {m,} |
表达式至少重复m次,无{,n}形式 |
| ? |
匹配表达式0次或1次,相当于{0,1} |
| + |
表达式至少出现1次,相当于{1,} |
| * |
表达式不出现或出现任意次,相当于{0,} |
注:匹配次数中的贪婪模式(匹配字符越多越好,是默认模式)
匹配次数中的非贪婪模式(匹配字符越少越好,修饰匹配次数的特殊符号后再加上一个“?”号)
字符边界 零宽度(匹配不到字符)
匹配的不是字符而是位置,符合某种条件的位置
| ^ |
与字符串开始的地方匹配 |
| $ |
与字符串结束的地方匹配 |
| \b |
匹配一个单词边界 |
注: \b 匹配这样一个位置:前面的字符和后面的字符不全是\w
^i: i的左侧是一个字符串开始的地方
i$:i的右侧是字符串结束的位置
匹配模式
选择符和分组
反向引用(\nnn)
预搜索(零宽断言/环式断言)
匹配内容本身不计入匹配结果

