Python3 正規表示式

2021-09-29 17:11:35 字數 3893 閱讀 9037

正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配。

python 自1.5版本起增加了re 模組,它提供 perl 風格的正規表示式模式。

re 模組使 python 語言擁有全部的正規表示式功能。

compile 函式根據乙個模式字串和可選的標誌引數生成乙個正規表示式物件。該物件擁有一系列方法用於正規表示式匹配和替換。

re 模組也提供了與這些方法功能完全一致的函式,這些函式使用乙個模式字串做為它們的第乙個引數。

re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match()就返回none。

函式語法

re.match(pattern, string, flags=0)
函式引數說明:

匹配成功re.match方法返回乙個匹配的物件,否則返回none。

我們可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式。

print(re.match('www', 'www.runoob.com').span()) # 在起始位置匹配

print(re.match('com', 'www.runoob.com')) # 不在起始位置匹配

#執行結果:

# .* 表示任意匹配除換行符(\n、\r)之外的任何單個或多個字元

matchobj = re.match( r'(.*) are (.*?) .*', line, re.m|re.i)

if matchobj:

print ("matchobj.group() : ", matchobj.group())

print ("matchobj.group(1) : ", matchobj.group(1))

print ("matchobj.group(2) : ", matchobj.group(2))

else:

print ("no match!!")

#執行結果:

re.search 掃瞄整個字串並返回第乙個成功的匹配。

函式語法:re.search(pattern, string, flags=0)

函式引數說明:

匹配成功re.search方法返回乙個匹配的物件,否則返回none。

我們可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式。

print(re.search('www', 'www.runoob.com').span()) # 在起始位置匹配

print(re.search('com', 'www.runoob.com').span()) # 不在起始位置匹配

#執行結果:

re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配。

#!/usr/bin/python

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

#author: zhaosj

import re

line = "cats are smarter than dogs";

matchobj = re.match( r'dogs', line, re.m|re.i)

if matchobj:

print ("match --> matchobj.group() : ", matchobj.group())

else:

print ("no match!!")

matchobj = re.search( r'dogs', line, re.m|re.i)

if matchobj:

print ("search --> matchobj.group() : ", matchobj.group())

else:

print ("no match!!")

#執行結果:

python 的re模組提供了re.sub用於替換字串中的匹配項。

語法:

re.sub(pattern, repl, string, count=0, flags=0)
引數:

前三個為必選引數,後兩個為可選引數。

#!/usr/bin/python

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

#author: zhaosj

import re

phone = "2004-959-559 # 這是乙個**號碼"

# 刪除注釋

num = re.sub(r'#.*$', "", phone)

print ("**號碼 : ", num)

# 移除非數字的內容

num = re.sub(r'\d', "", phone)

print ("**號碼 : ", num)

python3正規表示式

正規表示式,又稱規則表示式。英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元 及這些特定字元的組合,組成乙個...

Python3 正規表示式

常用的匹配模式 正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配。re 模組使 python 語言擁有全部的正規表示式功能。re.match函式 re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none。re.match...

Python3 正規表示式

目錄 python 正規表示式 正規表示式基本知識 re模組 匹配字串 切分字串 分組 貪婪匹配 編譯 d表示匹配乙個數字,即0 9 w表示匹配乙個字母或數字 表示匹配任意乙個字元 表示匹配任意個字元 包括0個 或其前面的表示式出現任意次數 表示至少匹配乙個字元,或其前面的表示式至少出現1次 表示匹...