正規表示式

2022-08-14 07:48:10 字數 2122 閱讀 8504

正規表示式

# 從大段的文字中找到符合規則的內容

# 爬蟲 從網頁的字串中獲取你想要的資料

# 日誌分析 提取 2018-8-12 10:---- 花的所有錢

# 什麼是日誌 :

# 2018-8-12 10:00:00 樓下早點攤 3.00

# 判斷某個字串是否完全符合規則

# 表單驗證 : 手機號 qq號碼 郵箱 銀行卡 身份證號 密碼

# 正規表示式 只和字串打交道

# 正規表示式的規則

# 規則 字串 從字串中找到符合規則的內容

# 字元組 : 寫在中括號中的內容,都出現在下面的某乙個字元的位置上都是符合規則的

# [0-9] 匹配數字

# [a-z] 匹配小寫字母

# [a-z] 匹配大寫字母

# [8-9]

# [a-za-z] 匹配大小寫字母

# [a-za-z0-9] 匹配大小寫字母+數字

# [a-za-z0-9_] 匹配數字字母下滑線

# 65 - 90

# 97 - 122

# 轉義符

# w w

# 元字元

# \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 表示單詞的邊界

# 和轉義字母相關的 元字元

# \w \d \s(\n\t) \b \w \d \s

# ^ $

# ^ 匹配乙個字串的開始

# $ 匹配乙個字串的結束

# . 表示匹配 除換行符之外的所有字元

# 只要出現在中括號內的內容都可以被匹配

# [^] 只要不出現在中括號中的內容都可以被匹配

# 有一些有特殊意義的元字元進入字元組中會回覆它本來的意義 : . | [ ] ( )

# a|b 或 符合a規則的或者b規則的都可以被匹配

# 如果a規則是b規則的一部分,且a規則比b規則要苛刻/長,就把a規則寫在前面

# 將更複雜的\更長的規則寫在最前面

# () 分組 表示給幾個字元加上量詞約束的需求的時候,就給這些量詞分在乙個組

# 量詞

# 表示 這個量詞之前的字元出現n次

# 表示這個量詞之前的字元至少出現n次

# 表示這個量詞之前的字元出現n-m次

# ? 表示匹配量詞之前的字元出現 0次 或者 1次 表示可有可無

# + 表示匹配量詞之前的字元出現 1次 或者 多次

# * 表示匹配量詞之前的字元出現 0次 或者 多次

# 正規表示式的匹配特點 : 貪婪匹配

# 它會在允許的範圍內取最長的結果

# 非貪婪模式/惰性匹配 : 在量詞的後面加上?

# .*?x 匹配任意非換行符字元任意長度 直到遇到x就停止

# print(r'\\n')

# print(r'\n')

# 關於字串挪到python中的轉義的問題 : 只需要在工具中測試完畢,確認可以匹配上之後,挪到python中在字串的外面加上r,r''即可

# 元字元 : \d \w \s \n \t \b \w \d \s . ^ $  [^] | ()

# 量詞 : ? + *

# 貪婪匹配/惰性匹配 : 預設貪婪/量詞? 惰性匹配

# 普通字元就表示乙個正常的字元

# 元字元表示它特殊的意義 如果轉義元字元,那麼這個元字元就失去了特殊意義

# 幾個字元的組合關係

# 字元/元字元 只約束乙個字元

# 字元+量詞 約束乙個字元連續出現的次數

# 字元+量詞+? 約束乙個字元連續出現的最少次數

# 字元+量詞+?+x 約束乙個字元連續出現量詞範圍內的最少次數,遇到x就立即停止

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...