正規表示式的使用

2021-07-24 20:35:53 字數 2059 閱讀 6316

正規表示式深層次的用法:

import re

match=re.match(r'(\w+)(\w+)(?p.*)','hello world!')

print match.string#匹配時使用的文字

print match.re #匹配時使用的pattern物件

print match.pos #匹配時正規表示式開始的索引位置

print match.endpos #正規表示式是結束搜素的索引

print match.lastindex #最後乙個**獲的分組在文字中的索引

print match.lastgroup #最後乙個**獲分組的別名

for group in match.groups():

print group

print match.groupdict("sign")#通過分組的別名獲得匹配的字串

print match.start(2)#通過指定分組中的索引來獲取匹配字串在文字中的起始位置

print match.end(1)# 作用與上面的差不多

print match.span(1) #這個就是返回匹配字串在文字中的起始和結束的位置

print match.expand(r'\1')

#search方法與match方法極其類似,區別在於match()函式只檢測re是不是在string的開始位置匹配,search()會掃瞄整個string查詢匹配,match()只有在0位置匹配成功的話才有返回,如果不是開始位置匹配成功的話,match()就返回none。同樣,search方法的返回物件同樣match()返回物件的方法和屬性。

match=re.match(r'world','hello world')#返回乙個match物件

print match

match=re.search(r'world','hello world')#返回乙個match物件

if match:

print match.group()

#按照能夠匹配的子串將string分割後返回列表。maxsplit用於指定最大分割次數,不指定將全部分割

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

split=re.split(pattern,"one1two2three3four4",3) #可以設定最大分割次數

print split

#搜尋string,以列表形式返回全部能匹配的子串

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

print re.findall(pattern,"one1two2three3four4")

#re.finditer() 返回乙個列表迭代器

#使用repl替換string中每乙個匹配的子串後返回替換後的字串。

#當repl是乙個字串時,可以使用\id或\g、\g引用分組,但不能使用編號0。

#當repl是乙個方法時,這個方法應當只接受乙個引數(match物件),並返回乙個字串用於替換(返回的字串中不能再引用分組)。

#count用於指定最多替換次數,不指定時全部替換。

pattern=re.compile(r"(\w+) (\w+)")

string="i say, hello world"

sub=re.sub(pattern,r"\2 \1",string)

def function(match):

return match.group(1).title()+" "+match.group(2).title()

print sub

print re.sub(pattern,function,string,1)

#re.subn(),返回(sub(repl, string[, count]), 替換次數)

#.python re模組的另一種使用方式,,可以通過pattern.match,pattern.search呼叫

print pattern.sub(function,string,1)



python正規表示式及使用正規表示式的例子

正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...

使用正規表示式

如果原來沒有使用過正規表示式,那麼可能對這個術語和概念會不太熟悉。不過,它們並不是您想象的那麼新奇。請回想一下在硬碟上是如何查詢檔案的。您肯定會使用 和 字元來幫助查詢您正尋找的檔案。字元匹配檔名中的單個字元,而 則匹配乙個或多個字元。乙個如 data?dat 的模式可以找到下述檔案 data1.d...

使用正規表示式

本文節選自 並有稍微修正。使用正規表示式 您可以使用正規表示式做很多事情。在以下的列表中,您可以找到一些最普通 最常用的正規表示式的例子。表示文字串必須在一行的開頭。所以,當查詢行的開頭只為 hosts 的行,可以使用命令 grep ls hosts 代表了一行的結尾。所以,當查詢行的結尾只為 ho...