正則表達式
概念:正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。
目的:給定一個正則表達式和另一個字符串,我們可以達到如下的目的
-
給定的字符串是否符合正則表達式的過濾邏輯(稱作“匹配”):
-
可以通過正則表達式,從字符串中獲取我們想要的特定部分。
正則表達式的使用,可以通過簡單的辦法來實現強大的功能。下面先給出一個簡單的示例:
^ 爲匹配輸入字符串的開始位置。
[0-9]+匹配多個數字, [0-9] 匹配單個數字,+ 匹配一個或者多個。
abc$匹配字母 abc 並以 abc 結尾, $爲匹配輸入字符串的結束位置。“^” :^會匹配行或者字符串的起始位置,有時還會匹配整個文檔的起始位置。
“” :$會匹配行或字符串的結尾
“\d” 匹配0-9之間的任一數字,相當於[0-9]。
“\D” 匹配所有0-9以外的字符,相當於[^0-9]
“\w” 匹配任意的字母、數字和下劃線,相當於[A-Za-z0-9_]
“\W” 除所有字母、數字和下劃線以外的字符,相當於[^A-Za-z0-9_]。
“\s” 匹配空格(包括製表符、空格符、斷行符等),相等於[\t\r\n\v\f]
“\S” 匹配非空格的字符,相當於[^\t\r\n\v\f]
“\b” 匹配詞的邊界
“\B” 匹配非詞邊界,即在詞的內部# 匹配出輸入的手機號是否是11位正確的手機號 # import re # def main(): # phone = input('請輸入您的手機號') # num = re.match(r"^1[35678]\d{9}$",phone) # if num: # print("匹配成功") # else: # print("匹配失敗") # if __name__ == '__main__': # main() #匹配出輸入的字符串 # import re # def haha(): # str = input("請輸入您的字符串: ") # A = re.match(r"^abc[defghi]\w{3}$",str)#以abc作爲開頭,後面跟上[]裏的任一內容,後面是6位的字符串或者數字 # if A: # print("匹配成功") # else: # print("匹配失敗") # if __name__ == '__main__': # haha()