zoukankan      html  css  js  c++  java
  • 正则表达式:分组

    身份证匹配:

    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使用分组匹配要梳理好逻辑关系,用括号的分组功能把各种分支的情况归拢到一起。

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

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

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

    分析 演绎 解读 总结。

    千秋邈矣独留我 百战归来再读书
  • 相关阅读:
    线段树----hdoj 1754 I here it
    树状数组----poj 2352 stars
    莫队算法
    枚举+深搜----poj 3279 Fliptile
    java 10 -09的作业
    java 09 06 thread-同步代码块-同步方法
    java09-05 join_daemon
    java09 02 Thread-yield 放弃
    java 07 jar
    java 08 作业
  • 原文地址:https://www.cnblogs.com/lordwind/p/11506421.html
Copyright © 2011-2022 走看看