zoukankan      html  css  js  c++  java
  • python 正则表达式总结

    一、匹配元字符

         使用元字符可以简便操作,写正则表达式时更方便

         常用元字符:  

    . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 
    ^ 匹配行首。除非设置 MULTILINE 标志,它只是匹配字符串的开始。 
    $ 匹配行尾,行尾被定义为要么是字符串尾,要么是一个换行字符后面的任何位置。 
    * 重复0或N次 
    + 重复1或N次 
    ? 重复0或1次 
    {} 该限定符的意思是至少有 m 个重复,至多到 n 个重复 
    [] 它们常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集 
    反斜杠后面可以加不同的字符以表示不同特殊意义。它也可以用于取消所有的元字符,这样你就可以在模式中匹配它们了 
    | 可选项,或者 "or" 操作符。 
    () 组 
    d 匹配任何十进制数;它相当于类 [0-9]。 
    D 匹配任何非数字字符;它相当于类 [^0-9]。 
    s 匹配任何空白字符;它相当于类 [ fv]。 
    S 匹配任何非空白字符;它相当于类 [^ fv]。 
    w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。 
    W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]。 
    A 只匹配字符串首。当不在 MULTILINE 模式,A 和 ^ 实际上是一样的。然而,在 MULTILINE 模式里它们是不同的;A 只是匹配字符串首,而 ^ 还可以匹配在换行符之后字符串的任何位置。 
     只匹配字符串尾。 
     单词边界。这是个零宽界定符(zero-width assertions)只用以匹配单词的词首和词尾。单词被定义为一个字母数字序列,因此词尾就是用空白符或非字母数字符来标示的。 
    B 另一个零宽界定符(zero-width assertions),它正好同  相反,只在当前位置不在单词边界时匹配。
    二、实际应用
      正则匹配的顺序刚开始学的时候感觉很是迷惑,但是用过几次后发现匹配起来就跟正常的读书一样,从左往右
      1)匹配首部字符
        未完待续.....
      
  • 相关阅读:
    钱多多软件制作04
    团队项目01应用场景
    HDU 4411 arrest
    HDU 4406 GPA
    HDU 3315 My Brute
    HDU 3667 Transportation
    HDU 2676 Matrix
    欧拉回路三水题 POJ 1041 POJ 2230 POJ 1386
    SPOJ 371 BOXES
    POJ 3422 Kaka's Matrix Travels
  • 原文地址:https://www.cnblogs.com/zhoufankui/p/5892836.html
Copyright © 2011-2022 走看看