正規表示式

2021-09-21 01:27:12 字數 1582 閱讀 2809

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# 為什麼要有正規表示式?

# 匹配字串

# 乙個人的**號碼

# 乙個人的身份證號

# 一台機器的ip位址

# 表單驗證

# 驗證使用者輸入的資訊是否準確

# 11位 全數字 1開頭 第二個數3-9之外的數

# 銀行卡號

# 爬蟲

# 從網頁原始碼中獲取一些鏈結、重要資料

# 正則規則(元字元,量詞)

# 第一條規則 : 本身是哪乙個字元,就匹配字串中的哪乙個字元

# 第二條規則 : 字元組[字元1字元2],乙個字元組就代表匹配乙個字元,只要這個字元出現在字元組裡,那麼就說明這個字元能匹配上

# 字元組中還可以使用範圍

# 所有的範圍都必須遵循ascii碼從下到大來指定

# [0-9] [a-z] [a-z]

# [0-9]   \d   表示所有的數字

# d  -->   d

# \d -->   \是轉義符   轉義符轉義了d,讓d能夠匹配所有0-9之間的數

# \w 表示 大小寫字母  數字 下劃線

# \s 表示空白 空格 換行符 製表符

# \t 匹配製表符

# \n 匹配換行符

# \d 表示所有的非數字

# \w 表示除 數字字母下劃線之外的所有字元

# \s 表示非空白

# . 表示除了換行符之外的任意內容

# 字元組 :只要在中括號內的所有字元都是符合規則的字元

# [^ ]非字元組 :只要在中括號內的所有字元都是不符合規則的字元

#   [^]

# ^ 表示乙個字元的開始

# $ 表示乙個字元的結束

# | 表示或,注意,如果兩個規則有重疊部分,總是長的在前面,短的在後面

# () 表示分組,給一部分正則規定為一組,|這個符號的作用域就可以縮小了

# [\d]  [0-9]  \d  沒有區別 都是要匹配一位數字

# [\d\d]  [\w\w]  [\s\s] 匹配所有一切字元

# 元字元

# \d \w \s \t(table) \n(next)

# \d \w \s

# .#   [^]

# ^    $

# |   ()

# 量詞

#  表示只能出現n次

# 表示至少出現n次

# 表示至少出現n次,至多出現m次

# ? 表示匹配0次或1次   表示可有可無 但是有只能有乙個 比如小數點

# +  表示匹配1次或多次

# *  表示匹配0次或多次  表示可有可無 但是有可以有多個 比如小數點後n位

# 匹配0次

# 匹配任意的2位整數

# 匹配任意的保留兩位小數的數字

# 匹配乙個整數或者小數  \d+\.\d+|\d+   \d+\.?\d*   \d+(\.\d+)?

# 預設貪婪匹配,總是會在符合量詞條件的範圍內盡量多匹配

# \d

# adljdkjsljdlj

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

非負整數 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正規表示式 編寫正規表示式

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