1.可以使用字符作为一个通配符来代替除换行符( )之外的任意一个字符,例如: .at可以与"cat","sat","mat"等匹配.通常,这种通配符用于操作系统中文件名匹配. 2.[a-z],任何含在[]中的内容都是一个字符,只匹配[]中的一个字符. 如:[a-zA-Z]代表任意大小写字母. 3.[^a-z].匹配任何不属于a-z中的字符. 4.[a-z&&[hij]].匹配hij任何一个(交集) 5.s.匹配空字符(空格,tab, ,换页,回车) 6.S.匹配非空字符(和[^s]一样) 7.d.匹配数字,相当于[0-9] 8.D.匹配非数字,相当于[^0-9],匹配中文,空格,换行符 9.w.匹配词字符,相当于[a-zA-Z0-9],不包含中文,不能代表空格,换行符 10.W.匹配非词字符,相当于[^w],匹配一个中文字 逻辑运算符: |:管道符.如:x|y表示x或y ():捕获组.(abc)|(xyz)表示abc或xyz 边界匹配符: ^:从头匹配 $:从尾匹配 :词界. B.非词界 量词: 量词描述一个模式吸收输入文本的方式. *:前面字符或组匹配0或多个 +:前面字符或组匹配1或多个 ?:前面字符或组匹配0或1个 {n}:前面字符或组的数量为n个 {n,}:前面字符或组的数量至少n个
{n,m}:前面字符或组数量至少n个,最多m个
在正则表达式中具有特殊含义的字符
特殊字符 |
描述 |
. | 表示任意一个字符 |
[abc] | 表示a、b或c中的任意一个字符 |
[^abc] | 除a、b和c以外的任意一个字符 |
[a-zA-z] | 介于a到z,或A到Z中的任意一个字符 |
s | 空白符(空格、tab、换行、换页、回车) |
S | 非空白符 |
d | 任意一个数字[0-9] |
D | 任意一个非数字[^0-9] |
w | 词字符[a-zA-Z_0-9] |
W | 非词字符 |
表示字符出现次数的符号
表示次数的符号 |
描述 |
* | 0 次或者多次 |
+ | 1 次或者多次 |
? | 0 次或者 1 次 |
{n} | 恰好 n 次 |
{n, m} | 至少 n 次,不多于 m 次 |