• []表示单个字符的原子表
1
2
3
4
5
[aoeiu] 表示任意一个元音字母
[0-9] 表示任意一位数字等价于 \d
[0-9][0-9] 00~99
[a-z][0-9]表示小写字和一位数字构成的两位字符
[a-zA-Z0-9_] 表示任意一位大小字母或数字 \w
  • [^]表示除中括号内原子之外的任何字符 是[]的取反
1
2
[^0-9] 表示任意一位非数字字符 等价于 \D
[^a-z] 表示任意一位非小写字母
  • {m}表示对前面原子的数量控制,表示是m次
1
2
[0-9]{4} 表示4位数字0000-9999 等价于\d{4}
[1][3-8][0-9]{9} 手机号码
  • {m,}表示对前面原子的数量控制,表示是至少m次
1
[0-9]{2,} 表示两位及以上的数字 等价于\d{2,}
  • {m,n}表示对前面原子的数量控制,表示是m到n次
1
[a-z]{6,8} 表示6到8位的小写字母
  • *表示对前面原子的数量控制,表示是任意次,等价于{0,}
  • +表示对前面原子的数量控制,表示至少1次,等价于{1,}
  • ?表示对前面原子的数量控制,表示0次或1次(可有可无) 等价于{0,1}
  • ()表示一个整体原子,还有一个子存储单元的作用 e.g. (red) 表示字串red
  • |表示或的意思 (red|blue) 字串red或blue
  • ^用在正则单元块的开头处,表示必须以指定的开头
  • $用在正则单元块的结尾处,表示必须以指定的结尾
  • .表示任意一个除换行符之外的字符 常用组合: .*?.+? 表示最小匹配所有字符