1.什么是字符组:容许使用者列出在某处期望匹配的字符。'[e]'
2. 在字符组内,字符组元字符'—'(连接符)表达范围。[0-9]
3.元字符,在字符组内/外表达的意思不一样。比如:‘03.09.16’就可以表示‘.’任意匹配 ,它可以匹配为 ‘03-09-16’或者‘03/09/16’等等
4.多选结构
‘|’表示匹配任意一个的正则表达式。(gr(a|e)y)也可以写成(gr[ae]y) 匹配为gray 或grey.。
5.脱字符
.'^'表四起始位置 也可以在字符组内表示非匹配。
6.可选字符
'?'把它加在一个字符后面,就表示此处容许出现这个字符,不过它的出现并非匹配成功的必要条件。
'4t?h'表示 t可以出现也可以不要,匹配的结果可以是 4th或4t.
'4(th)?'表示 括号里th可以出现也可以不要,匹配的结果可以是4或4th。
7.重复出现
a.‘+’表示可以出现一次或者多次,
b.‘*’表示可以出现多次也可以一次不出现
8.区间(也可以说是范围)
'{min,max}',表示最小和最大出现的次数;
比如:‘[a-zA-Z0-9]{3,12}’可以是字母和数字最小为3个字符最大可以是12字符。
9.反向引用
‘\1’,'\2','\3'等来表示第一,第二,第三括号匹配的文本.匹配反向引用之前的括号里的正则表达式。
比如 ‘([a-z]+)([A-Z]+)\1\2’ : '\1'匹配是([a-z]+);‘\2’匹配是([A-Z]+)
10.转义
‘\’:称为转义符,它的作用是使元字符会失去特殊的含义,成为普通的字符。
比如:‘\([a-zA-Z-0-9]+\)’,它匹配的结果可以为:(a)等,失去了括号的意义了。
原文链接:https://www.f2er.com/regex/363008.html