您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Python中正則表達式怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
正則表達式的基本使用
re.match(r’xxx’, 匹配的字符串) 嘗試從字符串的起始位置匹配一個模式匹配成功re.match方法返回一個匹配的對象,否則返回None。可以使用group(num) 或 groups() 匹配對象函數來獲取匹配表達式,groups()返回的是一個元組。
使用正則表達式匹配單個字符
. 匹配任意1個字符(除了\n) re.S則可以匹配換行
re.I 表示大小寫不敏感
[a-c1-9 ] 匹配[ ]中列舉的字符
\d 匹配數字,即0-9
\D 匹配非數字,即不是數字
\s 匹配空白,即 空格,tab鍵
\S 匹配非空白
\w 匹配單詞字符,即a-z、A-Z、0-9、。默認是re.U,即Unicode編碼,可以匹配中文,加上re.A即可指定ASCII編碼。[a-zA-Z0-9]
\W 匹配非單詞字符
使用正則表達式匹配多個字符
匹配前一個字符出現0次或者無限次,即可有可無
匹配前一個字符出現1次或者無限次,即至少有1次
? 匹配前一個字符出現1次或者0次,即要么有1次,要么沒有
{m} 匹配前一個字符出現m次
{m,n}匹配前一個字符出現從m到n次
{m,}匹配前一個字符出現m到無限次
匹配開頭結尾邊界的使用
^ 匹配字符串開頭 [^a]表示的是只要不是a
$ 匹配字符串結尾
匹配分組的使用
| 匹配左右任意一個表達式
(ab) 將括號中字符作為一個分組
\num 引用分組num匹配到的字符串 \1 \2
(?P<name>) 分組起別名
(?P=name) 引用別名為name分組匹配到的字符串
re高級函數 search、findall、sub等的使用
re.search 掃描整個字符串并返回第一個成功的匹配。匹配成功re.search方法返回一個匹配的對象,否則返回None。可以使用group(num) 或 groups() 匹配對象函數來獲取匹配表達式。
re.findall
在字符串中找到正則表達式所匹配的所有子串,并返回一個列表,如果沒有找到匹配的,則返回空列表。
re.sub用于替換字符串中的匹配項
re.split 根據匹配進行切割字符串,并返回一個列表
re.match與re.search的區別
re.match只匹配字符串的開始,如果字符串開始不符合正則表達式,則匹配失敗,函數返回None;而re.search匹配整個字符串,直到找到一個匹配。
貪婪和非貪婪的特點以及使用方式
Python里正則匹配默認是貪婪的(在少數語言里也可能是默認非貪婪),總是嘗試匹配盡可能多的字符;非貪婪則相反,總是嘗試匹配盡可能少的字符。在"*","?","+","{m,n}"后面加上?,使貪婪變成非貪婪
字符串前加r的作用
Python中字符串前面加上 r 表示原生字符串
感謝各位的閱讀!關于“Python中正則表達式怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。