正则表达式
测试网站:https://regexr.com/
正则表达式语法
普通字符
没有特殊限定的时候匹配一个相同的字符
简单转义字符
| \n | 换行符 | 
| \t | 制表符 | 
| \字符 | 字符本身 | 
标准字符集合
能够与多种字符匹配的表达式
区分大小写,大写取反
| \d | 0~9中任一字符 | 
| \w | 字母数字下划线,A~Z,a~z,0~9,_ | 
| \s | 空格、制表符、换行符等任一空白符 | 
| . | 任何一个字符 | 
自定义字符集合
[]匹配方式,匹配方括号中的任一字符
| [ab5@] | 匹配"a"、"b"、"5"或"@" | 
| [^abc] | 匹配"a"、"b"、"c"以外的任一字符 | 
| [f-k] | 匹配"f"~"k"中的任一字符 | 
| [^A-F0-3] | 匹配"A"~"F"、"0"~"3"以外的任一字符 | 
特殊符号,被包含到中括号中,失去特殊意义,除"^"和"-"以外
标准字符集,除小数点外,如果被包含于中括号,自定义字符集包含该集合。如:
- [\d.\-+]将匹配:数字、小数点、"-" 、"+"
量词
修饰匹配次数的特殊符号
| {n} | 表达式重复n次 | 
| {n,m} | 表达式至少n次,至多m次 | 
| {n,} | 表达式至少n次 | 
| ? | 匹配0或1次 | 
| + | 至少1次 | 
| * | 0次到任意次 | 
匹配次数中的贪婪模式(匹配字符越多与好,默认)
匹配次数中的非贪婪模式(匹配字符越少越好,修饰匹配次数的特殊符号后面加"?",例:"\d?")
字符边界
字符所处的位置,零宽(不占位)
| ^ | 字符串开始 | 
| $ | 字符串结束 | 
| \b | 单词边界(前面和后面的字符不全是\w) | 
正则表达式匹配模式
IGNORECASE忽略大小写模式
- 匹配时忽略大小写
- 默认情况下,区分大小写
SINGLELINE单行模式
- 整个文本看作一个字符串
- 小数点“.”可匹配任一字符,包含“\n”
MULTILINE多行模式
- 每行都是一个字符串,都有开头和结尾
- 匹配开始\A,匹配结束\Z
选择符和分组
| | | 分支结构,表示“或”的关系 | 
| () | 捕获组:1、括号中的作为整体 2、取结果时,括号中的内容可以单独得到 3、从左括号开始编号,第一个“(”是1,0为整个表达式 | 
| (?:expression) | 非捕获组,不保存()中的信息,节省内存开支 | 
反向引用(\nnn)
- 通过反向引用可以对分组已捕获的字符串进行引用
预搜索(零宽断言、环视)
对子表达式匹配,匹配内容不计入匹配结果,零宽
| (?=exp) | 后面能匹配表达式exp | 
| (?<=exp) | 前面能匹配表达式exp | 
| (?!exp) | 后面不能匹配表达式exp | 
| (?<!exp) | 前面不能匹配表达式exp | 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号