正規表示式深層次的用法:
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...