python程式設計07 正規表示式

2021-10-07 13:49:23 字數 1756 閱讀 3676

本文介紹了python對於正規表示式的支援,包括正規表示式基礎以及python正規表示式標準庫的完整介紹及使用示例。本文的內容不包括如何編寫高效的正規表示式、如何優化正規表示式,這些主題請檢視其他教程。

正規表示式運用

#pattern類工廠方法

import re

pattern = re.compile(r'\d+') #將正則表達編譯成pattern物件

print(pattern.split('one1two2three'))

#以此分隔並返回分開後的形式

print(pattern.match('0one1two2three'))

#返回乙個物件

print(pattern.findall('one111two211three'))

#返回所有能匹配的物件

print(pattern.finditer('one1two2three'))

#返回為迭代器

pattern1 = re.compile(r'(\d\w+) (\d\w+)')

#相互交換位置

print(pattern1.sub(r'\2 \1','1one 2two'))

郵箱等規則字串可用

match:盡量不匹配,找到乙個馬上返回

search

findall:盡量匹配

match物件是一次匹配的結果,包含了很多關於此次匹配的資訊,可以使用match提供的可讀屬性或方法來獲取這些資訊。

pattern物件是乙個編譯好的正規表示式,通過pattern提供的一系列方法可以對文字

進行匹配查詢。

pattern不能直接例項化,必須使用re.compile()進行構造。

正規表示式通常用於在文字中查詢匹配的字串。

python裡數量詞預設是貪婪的(在少數語言裡也可能是預設非貪婪),總是嘗試匹配盡可能多的字元;

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

例如:正規表示式」ab*」如果用於查詢」abbbc」,將找到」abbb」。而如果使用非貪婪的數量詞」ab*?」,將找到」a」。

print('result1', result1.group(1)) # 結果 result1

print('result2', result2.group(1)) # 結果 result2 keracn

content = 'hello 1234567 world_this is a regex demo'

result = re.match('^he.*?(\d+).*demo$', content)

print(result.group(1)) # 結果

result = re.match('^he.*(\d+).*demo$', content)

print(result.group(1)) # 結果 7

python高階07 正規表示式

import re dir re a ascii debug dotall i ignorecase l locale m multiline regexflag s scanner t template u unicode verbose x maxcache all builtins cache...

程式設計 正規表示式

乙個正規表示式就是由普通字元 例如字元 a 到 z 以及特殊字元 稱為元字元 組成的文字模式。該模式描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。這裡有一些可能會遇到的正規表示式示例 jscript vbscript 匹配 t t 匹配乙個...

PHP學習07 正規表示式

正規表示式組成部分 元字元和文字字元 元字元 具有特殊含義的字元 文字字元 普通文字 php使用prce風格的正規表示式。內容一般放在定界符 中間。1.行定位符 和 行定位符就是用來描述子串的邊界。表示行的開始,表示行的結束。2.單詞定界符 b和 b 需要匹配單詞,而非單詞一部分。b表示匹配乙個完整...