风之领主

千秋邈矣独留我,百战归来再读书

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

身份证匹配:

idcardregex = r"^[1-9]\d{13,16} [0-9x]$"

re.search(idcardregex, "110101198001017032") != None      # =>True

小写字母可能会匹配错误

----使用括号 可以兼容15位和18位的情况。是用括号的意思就是分组。

id = r"^[1-9]\d{14}(\d{2})"

 

一组字符循环出现,就应该称为一组。

准确匹配opentag:

r"^<[^/]([^>]*[^/])?>$" 

匹配完整E-mail的正则表达式:

emailRegex = r"^[-\w.]{1,64}@([-a-zA-Z0-9]{1,63}\.)*[-a-zA-Z0-9]{1,63}$"

多选结构:{。。|。。}

id=r"^([1-9]\d{14}|[1-9]\d{14}\d{2}[0-9x])$"

准确匹配0-255之间的字符串:

r"^([0-9]|[0-9]{2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$"

准确的HTML tag匹配

id=r"^<('[^']*'|\"[^\"]*\"|[^'\">])+>$"

^ab|cd$ 字符串开头的ab或者是结尾的cd.

多选结构的选择顺序是偏左的。

小结:

对长度可变的字符串可以使用分组。

URL使用分组匹配要梳理好逻辑关系,用括号的分组功能把各种分支的情况归拢到一起。

多选结构可以简化单纯分组的难度。

没有括号的多选结构的解读是开始,结尾的解读方式

遇到相似的多选结构的匹配顺序是优先匹配左侧的选项。

 

 

分析 演绎 解读 总结。

 

posted on 2019-09-11 15:13  风之领主  阅读(2310)  评论(0编辑  收藏  举报