您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關正則表達式常用規則有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
我們來看一下正則常用規則:
一張圖足以說明一切,哈哈哈!!
方法:
find()查找
findall()查找所有內容
replace()替換
split()分割
search()全局匹配
match()從開始的位置匹配
sub()也是替換,比replace簡單
complie()聲明一個正則,方便后面使用
修飾符:
re.I 使匹配對大小寫敏感
re.M 多行匹配
re.S 使.匹配換行在內的所有字符 (最常使用)
re.U 根據Unicode字符集解析字符
實例:
import re
s='hello world'
print(s.find('ll'))#查找ll
ret=s.replace('ll','xx')#替換ll
print(ret)
print(s.split(' '))#更具空格分割
ret=re.findall('w\w{2}l','hello world')
print(ret)#匹配出worl,返回的是一個列表
ret=re.findall('w.l','hello w\tld')#.(通配符)表示匹配一個字符,除了\n
print(ret)#匹配出w\tl
ret=re.findall('h...o','dsadashello')
print(ret)#匹配出hello
#元字符$ 在結尾匹配
ret=re.findall('h...o$','dsadashello')
print(ret)#匹配出hello,必須以o結尾
#*:重復匹配 0到無窮
#ret=re.findall('h.*o','sdsdfgfhellojbcvbtr')
#print(ret)#匹配出hello 貪婪匹配,盡可能多的去匹配,你可以在結尾加上個o試試會不會是另一個結果)
#+:重復匹配 1 到無窮
ret=re.findall('h.+o','sdsdfgfhojbcvbtr')
print(ret)#沒有匹配到內容
#?: [0,1]
ret=re.findall('h.?o','sdsdfgfhooojbcvbtr')
print(ret)#匹配除hoo
#{}: 自己定義
ret=re.findall('a{5,10}b','aaaaaaaaaab')
print(ret)
#[]: 字符集[a-z],可以取消元字符的特殊功能\ ^ -除外
ret=re.findall('a[a,b,c]x','acx')
print(ret)#[a,b,c]中間只匹配一個字符
ret=re.findall('[.,*,$,,]','acx.sd*fg$tyt,')
print(ret)
#[^t]除了t的所有
ret=re.findall('[^ts,,5]','ts456t,tt')
print(ret)
findall():所有結果返回在一個列表里
search():返回一個對象(object),對象需要調用group()
match():只在字符的開始匹配,返回的也是一個對象,對象需要調用group()
split():分割
======
ret=re.split('[s,k,d]','dsajk')
print(ret)#從s,k,d分割
======
ret=re.sub('a..x','s','hfalaxss')
print(ret)#將匹配到的字符串換成s,也是替換
=======
ret=re.compile('\.com')聲明一個正則,便于后面調用
obj=ret.findall('dsasds.comgfdhgd')
print(obj)#匹配出.com
關于“正則表達式常用規則有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。