python note 15 正则表达式
生活随笔
收集整理的這篇文章主要介紹了
python note 15 正则表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# 正則表達式 只和字符串打交道
# 正則表達式的規則
# 規則 字符串 從字符串中找到符合規則的內容
# 字符組 : [] 寫在中括號中的內容,都出現在下面的某一個字符的位置上都是符合規則的
# [0-9] 匹配數字 # [a-z] 匹配小寫字母 # [A-Z] 匹配大寫字母 # [8-9] # [a-zA-Z] 匹配大小寫字母 # [a-zA-Z0-9] 匹配大小寫字母+數字 # [a-zA-Z0-9_] 匹配數字字母下滑線# 元字符
# \w 匹配數字字母下滑線 word關鍵字 [a-zA-Z0-9_] # \d 匹配所有的數字 digit [0-9] # \s 匹配所有的空白符 回車/換行符 制表符 空格 space [\n\t ]# 匹配換行符 回車 \n# 匹配制表符 tab \t# 匹配空格 # \W \D \S 和\w \d \s取反# [\s\S] [\d\D] [\w\W]是三組全集 意思是匹配所有字符 # \b 表示單詞的邊界# ^ $
# ^ 匹配一個字符串的開始 # $ 匹配一個字符串的結束 # . 表示匹配 除換行符之外的所有字符 # [] 只要出現在中括號內的內容都可以被匹配 # [^] 只要不出現在中括號中的內容都可以被匹配 # 有一些有特殊意義的元字符進入字符組中會回復它本來的意義 : . | [ ] ( ) # a|b 或 符合a規則的或者b規則的都可以被匹配# 如果a規則是b規則的一部分,且a規則比b規則要苛刻/長,就把a規則寫在前面# 將更復雜的\更長的規則寫在最前面 # () 分組 表示給幾個字符加上量詞約束的需求的時候,就給這些量詞分在一個組# 量詞
# {n}表示 這個量詞之前的字符出現n次 # {n,} 表示這個量詞之前的字符至少出現n次 # {n,m} 表示這個量詞之前的字符出現n-m次 # ? 表示匹配量詞之前的字符出現 0次 或者 1次 表示可有可無 # + 表示匹配量詞之前的字符出現 1次 或者 多次 # * 表示匹配量詞之前的字符出現 0次 或者 多次# 練習題
# 匹配整數 \d+ # 匹配小數 \d+\.\d+ # 匹配小數或者整數# \d+\.\d+|\d+# \d+(\.\d+)? # 匹配身份證號碼 : [1-9]\d{16}[\dx]|[1-9]\d{14}# [1-9]\d{14}(\d{2}[\dX])?# 正則表達式的匹配特點 : 貪婪匹配 # 它會在允許的范圍內取最長的結果 # 非貪婪模式/惰性匹配 : 在量詞的后面加上?# .*?x 匹配任意非換行符字符任意長度 直到遇到x就停止# 關于字符串挪到python中的轉義的問題 : 只需要在工具中測試完畢,確認可以匹配上之后,挪到python中在字符串的外面加上r,r''即可
# print(r'\\n') # print(r'\n')?#匹配年月日日期 格式2018-12-8
^[0-9]\d{0,3}-(1[0-2]|0?[1-9])-(3[01]|[12]\d|0?[1-9])$#匹配qq號
[1-9]\d{4,11}#11位電話號碼
1[3-9]\d{9}#長度為8-10位的用戶密碼:包含數字字母下劃線
\w{8,10}#匹配驗證碼:4位數字字母組成
[\da-zA-Z]{4}#匹配郵箱地址
[0-9a-zA-Z][\w\-.]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)*\.[A-Za-z0-9]{2,6}?
轉載于:https://www.cnblogs.com/P-Z-W/p/10777064.html
總結
以上是生活随笔為你收集整理的python note 15 正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java.nio.file.NoSuch
- 下一篇: python运维开发常用模块(四)文件对