亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

第11.15節 Python正則表達式轉義符定義的特殊序列

系統 1552 0

一、 引言
在前面《第11.13節 Python正則表達式的轉義符”\”功能介紹》介紹了正則表達式轉義符 '\' ,只不過當時作為轉義符主要是用于在正則表達式中表示元字符自身的需要進行的轉義。實際上,除了元字符使用轉義符外,Python還支持由 '\' 和一個ASCII數字或ASCII字母字符組成的特殊序列,這些特殊代表特殊的含義。 如果 '\' 后面跟的字符不是ASCII數字或者ASCII字母,那么正則樣式將直接匹配后面跟的字符,如 ’\$’ 匹配字符 ‘$’。

二、 特殊序列

  1. \number
    number表示一個ASCII數字,\number表示數字代表的組。正則表達式中每個括號是一個組,組從1開始編號。關于組和組號的介紹及案例請大家參考后續章節《第11.16節 Python正則元字符“()”(小括號)與組(group)匹配模式》、《第11.17節 Python 組匹配模式擴展的命名組功能及組的反向引用》。
    注意如果 number 的第一個數字是0, 或者 number 是三個八進制數,它將不會被看作是一個組的序號,而是一個八進制的數字。在 ‘[’ 和 ‘]’ 字符集合內,任何數字轉義都被看作是數字字符。
  2. \A
    只匹配字符串開始, 該功能與match函數的功能基本相同,與脫字符“^”在多行模式(搜索標記中包含re.MULTILINE,關于搜索標記的含義請見《第11.2節 Python re模塊函數概覽》)處理不同,其他方面基本相同。
    例子:
            
              >>> m=re.search(r'\A([A-Z][a-z]*) ([A-Z].*)','Learning Python with LaoYuan!')
>>> m.groups()
('Learning', 'Python with LaoYuan!')
>>>

            
          
  1. \b 匹配一個單詞的邊界
    \b 匹配一個單詞的邊界用于匹配一個單詞的邊界,本身匹配結果為空字符串,但用于分隔一個單詞的左邊界或右邊界,當用于左邊界時,表示匹配時其后面的字符是一個單詞的開始,其前面不能有單詞字符,當用于右邊界時,表示正則表達式前面的單詞至此結束,匹配時后面不能再有單詞字符。
    例如:
            
              >>> re.search(r'\bPython','LaoYuanPython accompanies you learning Python')

              
                
>>> re.search(r'Python\b','LaoYuanPython accompanies you learning Python')

                
                  
>>>

                
              
            
          

由于“LaoYuanPython”中的“‘Python’”不是一個獨立單詞,前面還有單詞字符,因此當要匹配左邊界時不符合匹配條件,因此第一個語句匹配的是后面的“Python”,而第二個語句是右邊界的匹配,此時“LaoYuanPython”后面沒有單詞字符,因此可以匹配。
\b本身匹配的是一個空字符串,即它解析時不占用字符串的字符。如:

            
              >>> re.search(r'Python\b a','LaoYuanPython accompanies you learning Python')

              
                
從上面例子可以看到\b并不影響后面的空格和字母a的匹配,即它沒有消耗搜索字符,本身匹配的是空字符串。

              
            
          
  1. \B 匹配一個單詞的非邊界
    \B 匹配一個單詞的非邊界,即\B所在位置必須有一個單詞字符,不能在詞的開頭或者結尾,其匹配結果本身為空字符串,不消耗搜索字符。如下面的例子,匹配的是后一個Python:
            
              >>> re.search(r'\BPython','Learning Python with LaoYuanPython')

              
              
            
          
  1. \d匹配數字
    對于 字符串,匹配任何Unicode十進制數(就是在Unicode字符目錄[Nd]里的字符)。這包括了 [0-9] ,和很多其他的數字字符。如果設置了 ASCII 標志,就只匹配 [0-9] 。
    對于字節碼bytes類型:匹配任何十進制數,就是 [0-9]。
    案例:
            
              re.search(r'(\d*)','123123一二三壹貳叁①②③123')

              
              
            
          
  1. \D匹配非數字
    匹配任何非十進制數字的字符。就是 \d 取非。 如果設置了 ASCII 標志,就相當于 [^0-9] 。

  2. \s匹配空白字符
    對于字符串str類型:匹配任何Unicode空白字符(包括 [ \t\n\r\f\v] ,還有很多其他字符,比如不同語言排版規則約定的不換行空格)。如果 ASCII 搜索標記被設置,就只匹配字符集 [ \t\n\r\f\v] 。
    對于字節碼bytes類型:匹配ASCII中的空白字符,就是匹配字符集 [\t\n\r\f\v] 。

  3. \S 匹配非空白字符
    匹配任何非空白字符。就是 \s 取非。如果設置了 ASCII 標志,就相當于 [^ \t\n\r\f\v] 。

  4. \w 匹配詞語字符
    對于 Unicode (str) 樣式:
    匹配Unicode詞語的字符,包含了可以構成詞語的絕大部分字符,也包括數字和下劃線。如果設置了 ASCII 標志,就只匹配 [a-zA-Z0-9_] 。
    對于8位(bytes)樣式:
    匹配ASCII字符中的數字和字母和下劃線,就是 [a-zA-Z0-9_] 。如果設置了 LOCALE 標記,就匹配當前語言區域的數字和字母和下劃線。

  5. \W
    匹配任何非詞語字符。是 \w 取非。如果設置了 ASCII 標記,就相當于 字符集[^a-zA-Z0-9_] 。如果設置了 LOCALE 標志,就匹配當前語言區域的 非 詞語字符。

  6. \Z匹配字符串尾
    匹配字符串尾,就表示匹配串必須位于字符串結尾,該功能與元字符 類 似 , 但 在 多 行 模 式 下 , Z 不 能 支 持 識 別 非 最 后 一 行 的 行 尾 , 而 類似,但在多行模式下,\Z不能支持識別非最后一行的行尾,而 , Z , 可以。如:

            
              >>> re.search(r'(\d*)\Z','123123一二三壹貳叁①②③123')

              
              
            
          

三、 Python的其他轉義符支持
正則表達式支持絕大部分Python的標準轉義字符,包括:\a、\b、\f、\n、\r、\t、\u、\U、\v、\x、\,其中\b 被用于表示詞語的邊界,在字符集合內表示退格。

老猿Python,跟老猿學Python!
博客地址:https://blog.csdn.net/LaoYuanPython
請大家多多支持,點贊、評論和加關注!謝謝!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产视频自拍一区 | 久草视频中文 | 成人免费视频一区 | 精品欧美一区二区在线观看 | 久久毛片免费看 | 久99久热| 手机看片福利日韩欧美看片 | 亚洲国产成人精品一区二区三区 | 99热久久这里只有精品 | 欧美综合精品一区二区三区 | 国产第一福利 | 网站黄色在线观看 | 国产在线视精品麻豆 | 淫视频在线观看 | 国产一区视频在线免费观看 | 99国产精品欧美久久久久久影院 | 91九色国产 | 国产香蕉国产精品偷在线观看 | 五月天婷婷在线免费观看 | chinese在线播放91国内 | 激情五月婷婷久久 | 黄色的视频免费看 | 日韩一区视频在线 | 久久精品国产亚洲麻豆 | 国产亚洲一区二区麻豆 | 国产福利在线观看永久免费 | 国产成人综合欧美精品久久 | 亚洲视频一区二区在线观看 | 国产综合另类小说色区色噜噜 | 波多野结衣中文字幕久久 | 四虎综合九九色九九综合色 | 国产视频2021| 欧美在线激情 | 2021久久精品国产99国产 | 免费国产成人午夜在线观看 | 国产欧美精品一区二区三区-老狼 | 欧美肥婆xxxx欧美另类 | 国内精品小视频在线 | 狠狠狠很橹影院 | 日日夜夜摸 | 国产欧美一区二区三区在线 |