Python中正規表示式的用法總結

2021-09-20 04:05:47 字數 3127 閱讀 2629

正規表示式很神奇啊

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

''''''

import re

def print_match_res(res):

"""列印匹配物件內容"""

if res is not none:

print(res.group())

else:

print(none)

# 兩種匹配方式:

pattern="[a-z][a-z]+"

# 一、使用re模組函式進行匹配

res=re.match(pattern,"tom is a good boy") # 匹配,返回匹配物件

print(type(res))

print(res.group())

# 二、使用預編譯後的正規表示式物件的方法進行匹配

obj_pattern=re.compile(pattern) # 預編譯,返回正規表示式物件

print(type(obj_pattern))

res=obj_pattern.match("tom is a good boy") # 匹配,返回匹配物件

print(type(res))

print(res.group())

# 匹配物件的group()和groups()方法

pattern="\d-\d"

obj_pattern=re.compile(pattern)

print(res.group()) # 返回整個匹配或特定子組

print(res.groups()) # 返回包含全部子組的元組

# match():從起始部分開始匹配,如果成功,返回匹配物件;失敗,返回none。只匹配一次

pattern="my"

# res=re.compile(pattern).match("my name is li")

res=re.match(pattern,"my name is li")

print_match_res(res)

# search(): 從任意位置開始匹配,如果成功,返回匹配物件;失敗,返回none。只匹配一次

pattern="my"

# res=re.compile(pattern).search("it's my dog")

res=re.search(pattern,"my name is li")

print_match_res(res)

# 查詢全部

# findall(),finditer()

res=re.findall(r"th\w+","this and that",re.i)

print(res)

res=re.finditer(r"th\w+","this and that",re.i)

print(res)

print(next(res).group(),next(res).group())

# 替換

# sub(),subn()

res=re.sub("funny","fool","you are so funny")

print(res)

res=re.subn("funny","fool","you are so funny")

print(res)

# 分割

# splite()

res=re.split("\.","mr.smith")

print(res)

print("#"*50)

# 擇一匹配符號 a|b

pattern="i|you|she"

res=re.compile(pattern,flags=re.ignorecase).match("i love you")

print_match_res(res)

res=re.compile(pattern,flags=re.i).search("who love you")

print_match_res(res)

# 匹配任意單個字元 .

# 字符集 [abc] [a-z0-9]

pattern="[a-za-z0-9_]*\."

res=re.match(pattern,"python3.?")

print_match_res(res)

# 特殊字元 \d \w \s \b \\

# 重複 + ? *

# 分組 (...)

pattern="\w+@(\w\.)*([a-z]*)"

res=re.match(pattern,"[email protected]")

print_match_res(res)

res=re.match(pattern,"[email protected]")

print_match_res(res)

print(res.group(0),res.group(1),res.group(2),sep="\t")

print(res.groups())

# 匹配字串的起始和結尾,單詞邊界 ^a z$ \a \z \b \b

pattern=r"^the"

# pattern=r"\athe"

res=re.search(pattern,"the end of the world")

print_match_res(res)

res=re.search(pattern,"they smile")

print_match_res(res)

pattern=r"cry$"

# pattern=r"cry\z"

res=re.search(pattern,"they cry")

print_match_res(res)

res=re.search(r"\bthe","bit the dog")

print_match_res(res)

res=re.search(r"\bhe","bit the dog")

print_match_res(res)

Python中正規表示式的用法

在這裡跟大家分享乙個python程式設計過程中的小知識點 正規表示式!那正規表示式到底是什麼呢?又是用來幹什麼的呢?正規表示式 是包含文字和特殊字元的字串,為高階的文字模式匹配,抽取,與文字形式的搜尋和替換功能提供了基礎 python通過標準庫re模組來支援正規表示式,re 模組使 python 語...

python中正規表示式

python中正規表示式語法與linux中的相容 檢視正規表示式 python提供re模組,包含所有正規表示式的功能。由於python的字串本身也用 轉義,所以要特別注意 s abc 001 python的字串 對應的正規表示式字串變成 abc 001 建議使用python的r字首,就不用考慮轉義的...

Python 中 正規表示式

一 最近要對字串執行很多操作,所以學了正規表示式 不得不說正規表示式對字串的操作還是很給力的 runoob上面的教程 python中的正規表示式 正規表示式教程 python中要使用正規表示式,首先要匯入re模組 import re 二 常用函式 或者說方法 re.match 作用 嘗試從字串的起始...