正則表達式——點號


上一章講到了各種字符組,與它相關的還有一個特殊的元字符:點號.。一般文檔都說,點號可以匹配"任意字符",點號確實可以匹配"任意字符",常見的數字、字母、各種符號都可以匹配,如例2-10所示。

例2-10  點號.的匹配

re.search(r"^.$", "a") != None      #  => True  
re.search(r"^.$", "0") != None      #  => True  
re.search(r"^.$", "*") != None      #  => True  

有一個字符不能由點號匹配,就是換行符\n。這個字符平時看不見,卻存在,而且在處理時並不能忽略(下一章會給出具體的例子)。

如果非要匹配"任意字符",有兩種辦法:可以指定使用單行匹配模式,在這種模式下,點號可以匹配換行符(?84);或者使用上一章的介紹"自制"通配字符組[\s\S](也可以使用[\d\D][\w\W]),正好涵蓋了所有字符。例2-11清楚地說明,這兩個辦法都可以匹配換行符。

例2-11  換行符的匹配

re.search(r"^.$", "\n") != None             #  => False  
#單行模式  
re.search(r"(?s)^.$", "\n") != None         #  => True  
#自制“通配字符組”  
re.search(r"^[\s\S]$", "\n") != None        #  => True  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM