正则表达式Match

1.字符组

1.1普通字符组

  • 范围表示法:
[0-9]:数字0-9
[a-z]:字母a-z
  • 并列范围表示法:
[0-9a-zA-Z]:数字、大写、小写
  • 转义序列
    \x:固定前缀
    \x+num
    num:字符对应的码值:两位的十六进制数值
    A的码值是41
    A:\x41
http://baike.baidu.com/link?url=QBVmMoP7SApG66stRIRX9SWflHrquPKXSPz0o3x2QGTBOFy-s9vxUoVtEuCZhGldMwll34vh87zYt8AWPCxe9q

所有ASCII范围:[\x00-\x7F]

1.2元字符及转义

元字符:[、]、^、$、-、

[0\-9]:0、-、9
真正的字符串应该写为:[0\\\\\-9]:0、-、9

python原生字符串:r"[0-9]",不需要转义

1.3排除型字符组

[^0-9]:0-9之外的字符

如果想匹配A8类型的字符串

[^0-9][0-9]

1.3字符组简记

\d:[0-9]
\w:[0-9a-zA-Z](并不准确,不建议使用:除了数字、大小写字母、还有-)
\s:[\t\r\n\v\f]:空白字符

\D、\W、\S分别代表\d、\w、\s的反

[\s\S]、[\w\W]、[\d\D]代表匹配任意字符

1.4字符组运算

java减法:

[aeiou]:匹配所有的元音字母
[[a-z]&&[^aeiou]]:匹配元音字母之外的所有字符

2.量词

print re.search("^\d\d\d\d\d\d$", "100569") != None  --true
print re.search("^\d{6}$", "100569") != None  --true

你可能感兴趣的:(正则表达式Match)