Python re 正規表示式

2021-08-20 14:46:56 字數 2639 閱讀 5656

import re                                          # 匯入re模

result = re.match(正規表示式, 要匹配的字串) # 使用match() 方法進行匹配操作

result.group( ) # 使用group()方法提取資料

案例 :

# 匹配變數名是否符合識別符號命名規則

res = re.match("[a-za-z_]+[\w]*","name_123")

print(res.group()) # 執行結果 : name_123

res = re.match("[a-za-z_]+[\w]*","name_123")

print(res.group()) # 執行結果 : name_123

# 匹配字串的開頭和結尾 (注意: python中match 預設從頭開始匹配,可以省略^)

res = re.match("[\w]@gmail\.com$", "[email protected]")

print(res.group()) # 執行結果: refrain_wg@g'mail.com

res = re.match("[\w]@gmail\.com$", "[email protected]")

print(res.group()) # 執行結果: refrain_wg@g'mail.com

案例 :  

# | 的使用: 或

res = re.match("[1-9]?\d$|100","6")

print(res.group()) # 執行結果 : 6

# ( ) 的使用: 分組

res = re.match("\w@(163|qq|gmail)\.com", "[email protected]")

print(res.group()) # 執行結果 : [email protected]

# \ 的使用: 這裡 \1 代表引用分組1的正規表示式

res = re.match(r"\w*", "引用分組")

print(res.group()) # 執行結果: 引用分組

# 執行結果: 引用分組

案例:

res = re.search(r"\d+", "隨機數123-9999")

print(res.group()) # 執行結果為: 123

res = re.findall(r"\d+", "隨機數: 123, 007, 9999, 2018, 6, 16")

print(res) # 執行結果為 : ['123', '007', '9999', '2018', '6', '16']

# 執行結果為 : ['123', '007', '9999', '2018', '6', '16']

res = re.sub(r"\d+", '20180616', "學號:1205071")

print(res) # 執行結果為: 學號:20180616

res = re.split(r"-| ","隨機2018-06-16 2018-11-22文字")

print(res) # 執行結果為: ['隨機2018', '06', '16', '2018', '11', '22文字']

注意 : findall( ) , sub( ) , split( ) 的使用,不需要使用group( ) 提取資料

貪婪:python裡數量詞預設是貪婪的,總是嘗試匹配盡可能多的字元;

非貪婪 :和貪婪相反,總是嘗試匹配盡可能少的字元。    

解決方案:在"*","?","+",""後面加上?,使貪婪變成非貪婪。

正規表示式 python re

字元功能 或 分組 num 引用分組num匹配到的字串 p 分組起別名 p name 引用別名為name分組匹配到的字串 示例import re label res re.match r w w label print res.group www.itcast.cn h1 html import r...

python re 正規表示式

1 re.match str id s paragraph.text re.match 表示從變數 paragraph.text 所代表的 字串 的開始匹配模式 str id s 模式 str id s 表示 以id 某個數字 開始,s 表示0個或者多個空白符。表示結尾。2 searchobj re...

Python re 正規表示式

a z代表匹配任意的小寫字母 s表示匹配任意的空白字元 就代表匹配前面的字元任意多個 w匹配字母 數字及下劃線 w匹配不是字母 數字及下劃線的字元 可以匹配任意字元 除換行符 可以匹配任意字元 貪婪 匹配 1 個或多個表示式 非貪婪 向它傳入要匹配的字串以及正規表示式,就可以檢測這個正規表示式是否匹...