40 python之正規表示式

2021-10-24 16:46:28 字數 2609 閱讀 7459

一、基礎語法

import re

# 從起始行開始匹配

# 不從起始行開始匹配(match只匹配字串開頭,如果找不到則返回none;search匹配整個字串,直到找到乙個匹配)

# 如果匹配不成功就返回none

print(re.match('weixin', 'www.baidu.com'))

二、運用

import re

line = 'shallow encounter world of mortals, deep read life'

# 以world為間隔

matchobj = re.match(r'(.*) world (.*?) .*', 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!!")

matchobj = re.search(r'(.*) dogs (.*?) .*', 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!!")

三、替換

import re

# 刪除字串中的 python注釋

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

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

# 刪除非數字(-)的字串

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

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

四、查詢數字

import re

# 匹配至少乙個數字

pattern = re.compile(r'\d+')

m = pattern.match('one2three456seven8nine')

print(m)

m = pattern.match('one2three456seven8nine', 9, 15)

print(m)

# 返回匹配成功的整個字串

res = m.group(0)

print(res)

# 起始位置

res = m.start(0)

print(res)

# 結束位置

res = m.end(0)

print(res)

# 返回匹配成功的整個字串的索引

res = m.span(0)

print(res)

五、不區分大小寫 

import re

# re.i 表示忽略大小寫

pattern = re.compile(r'([a-z]+) ([a-z]+)', re.i)

m = pattern.match('hello world hello world')

print(m)

# 返回第乙個分組匹配成功的字串

res = m.group(1)

print(res)

# 等價於 (m.group(1), m.group(2), ...)

res = m.groups()

print(res)

# 不存在第三個分組

# res = m.group(3)

# print(res)

# 返回第乙個分組匹配成功的字串的索引

res = m.span(1)

print(res)

六、字串分隔

import re

#字串分隔

print(re.split('\w+', 'runoob, runoob, runoob.'))

# 不限次數分隔

print(re.split('\w+', 'r unoob, runoob, runoob.'))

# 分隔一次

print(re.split('\w+', 'r unoob, runoob, runoob.',1))

Python之正規表示式

正規表示式正規表示式主要用來匹配字串,例如 判斷乙個字串是否是乙個合法的 思想是用描述性的語言給字串乙個規則。re模組中的match函式提供了這種功能,若匹配成功則返回匹配物件,否則返回none。一 語法 d 表示匹配數字 w 表示匹配字母或數字 可以匹配任意字元 s可以匹配乙個空格或者tab 特殊...

Python之正規表示式

正規表示式元字元如下 匹配除換行符以外的所以字元 規定匹配模式必須出現在目標字串的開頭,例如 hell hello hellboy 規定匹配模式必須出現在目標字串的結尾,例如 ar car bar 其前乙個字元必須在目標物件中連續出現零次或多次 其前乙個字元必須在目標物件中連續出現一次或多次 其前乙...

Python之正規表示式

匯入re模組 檢索和替換 re.sub re.sub pattern,repl,string,count 0,flags 0 pattern 正則中的模式字串 repl 替換的字串,也可為乙個函式 string 要被查詢替換的原始字串 count 模式匹配後替換的最大次數,預設 0 表示替換所有的匹...