美文网首页
Python 正则表达式(1)

Python 正则表达式(1)

作者: SateZheng | 来源:发表于2016-12-15 00:46 被阅读14次

    re模块包含对正则表达式的支持

    先讲一些正则中的匹配规则

    通配符 .

    .可以匹配任何字符(除了换行符\n,在 DOTALL 模式中也能匹配换行符)。只能匹配一个字符

    对特殊字符进行转义 \

    如果想要匹配 'python.org' 可以使用 'python\\.org'

    这边使用两个反斜线,一是通过解释器转义,二是通过re模块转义,建议使用原始字符串,如r'python\.org'

    字符集 []

    字符集可以匹配它所包含的任意字符

    例:[pj]ython 匹配 pythonjython

    例:[a-z] 匹配 a 到 z 所有字母(字符集只能匹配一个这样的字符)

    例:[a-zA-Z0-9] 匹配任意大小写字母和数字(字符集只能匹配一个这样的字符)

    反转字符集 [^]

    例: [^abc] 匹配任何除了 a,b,c 之外的字符

    选择符合和子模式 |

    选择符:

    例: 'python|perl' 匹配 python 或者 perl

    子模式: 用圆括号括起来需要的部分称为子模式

    例: 'p(yhon|erl)' 匹配 python 或者 perl

    可选项和重复子模式 ?

    可选项:在子模式的后边加上问好就变成了可选项。它可以出现在匹配字符串中,但并非是必须的。

    例:r'(http://)?(www\.)?python\.org'

    可以匹配到的下列字符串

    'http://www.python.org'

    'http://python.org'

    'www.python.org'

    'python.org'

    重复子模式:允许子模式重复多次的运算符

    • (pattern)* 允许模式重复0次或多次
    • (pattern)+ 允许模式重复1次或多次
    • (pattern){m,n} 允许模式重复 m ~ n 次

    例: r'w*\.python\.org' 可以匹配.python.orgw.python.orgwwwww.python.org等等等等。

    字符串的开始和结尾 ^``$

    只匹配开始:

    例: 只想在字符串的开头而不是其他位置匹配'ht+p',可以使用'^ht+p'匹配,可以匹配到'http://python,org'等等,而不会匹配'www.http.com'.

    只匹配结尾:

    如果只想匹配字符串结尾,可以使用$

    相关文章

      网友评论

          本文标题:Python 正则表达式(1)

          本文链接:https://www.haomeiwen.com/subject/epuwmttx.html