<[^/][^>]*[^/]>確實可以避免匹配到
這樣的字元,但是又會放過這樣的字元,為什麼呢,剛開始還沒想明白,其實是因為<[^/][^>]*[^/]>這樣的書寫方式,其實最少要求的字元必須有三個才會匹配的,而u卻只有乙個字元。
括號的使用 15位和18位身份證的匹配
>>> idcardregex = r"^[1-9]\d(\d[0-9x])?$"
#這段正規表示式先匹配1-9其中的乙個數字,因為身份證開頭不能是零,之後匹配14個數字,這樣就構成15位的身份證,另外三個則是用括號括起來整體出現的,要不不出現,要不一起只出現一次,相當於幾個字元已經被**起來了
>>> re.search(idcardregex,"110101198001017032") != none
true
>>> re.search(idcardregex,"11010119800101703x") != none
true
>>> re.search(idcardregex,"110101198001017") != none
true
>>> re.search(idcardregex,"11010119800101x") != none
false
多選結構,一般是由()和|組成,但是如果沒有括號出現,依然為多選結構,但有時候也會出現錯誤
多選結構可以應對多種情況的出現,下面的示例是匹配0-255之間的字串
>>> partregex = r"^([0-9]|[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$"
>>> re.search(partregex, "0") != none
true
>>> re.search(partregex,"98") != none
true
>>> re.search(partregex,"01") != none
true
>>> re.search(partregex,"001") != none
false
>>> partregex = r"^([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$"
>>> re.search(partregex,"001") != none
true
同時,也可以匹配特殊的時間以及手機**號碼的匹配
一般情況下,匹配完成之後,匹配結果預設存在編號為0的分組
第三章 Linux特殊字元和正規表示式
一,本章內容 1,特殊字元 2,檔名萬用字元 3,多命令中的邏輯運算子和括號 4,命令中正規表示式 備註 本linux系統為 rhel5.3 二,linux系統特殊字元 1,雙引號 1 name mary 2 echo now time date 使用反引號引用命令輸出 3 echo name gr...
第三章 變數和表示式
1.c 每條語句以分號結束,一行可以放置多條語句,一條語句可以放置在多行 c 編譯器不考慮空格 回車和製表符 2.c 區分大小寫 1.大綱功能 通過 region和 endregion關鍵字將 展開摺疊 2.以 開頭的關鍵字是預處理命令 1.使用變數前,需先宣告,指定變數名和資料型別,之後可將其用作...
第三章 python運算子與表示式
掌握如何應用python中的算術運算子 掌握python中的賦值運算子的用法 掌握python中的比較運算子的應用 掌握如何應用python中的邏輯運算子 了解python中的位運算子的用法 了解各個運算子的之間的優先順序 掌握條件表示式的應用 3.1 運算子 3.1.1 算術運算子 二個特殊的 取...