python中正規表示式基本使用

2021-09-18 03:23:31 字數 1872 閱讀 6520

1.正規表示式的基本使用

import re

re.match(r』***』, 匹配的字串) 嘗試從字串的起始位置匹配乙個模式匹配成功re.match方法返回乙個匹配的物件,否則返回none。可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式,groups()返回的是乙個元組。

2.使用正規表示式匹配單個字元

.匹配任意1個字元(除了\n)re.s則可以匹配換行

re.i 表示大小寫不敏感

[1-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 匹配非單詞字元

3.使用正規表示式匹配多個字元

* 匹配前乙個字元出現0次或者無限次,即可有可無

+ 匹配前乙個字元出現1次或者無限次,即至少有1次

? 匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有

匹配前乙個字元出現m次

匹配前乙個字元出現從m到n次,並且m小於n,逗號兩側不能有空格

匹配前乙個字元出現m到無限次

4.匹配開頭結尾邊界的使用

^ 匹配字串開頭[^a]表示的是只要不是a

$ 匹配字串結尾

5.匹配分組的使用

| 匹配左右任意乙個表示式

(ab) 將括號中字元作為乙個分組

\num 引用分組num匹配到的字串 \1 \2

(?p) 分組起別名

(?p=name) 引用別名為name分組匹配到的字串.

6.re高階函式 search、findall、sub、split等的使用

re.search 掃瞄整個字串並返回第乙個成功的匹配

。匹配成功re.search方法返回乙個匹配的物件,否則返回none。可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式。

re.findall

在字串中找到正規表示式所匹配的所有子串,並返回乙個列表

,如果沒有找到匹配的,則返回空列表

。不需要通過group()取值

re.sub用於替換字串中的匹配項

re.split 根據匹配進行切割字串,並返回乙個列表

7.re.match與re.search的區別

re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配。

貪婪和非貪婪的特點以及使用方式

8.python裡正則匹配預設是貪婪的(在少數語言裡也可能是預設非貪婪),總是嘗試匹配盡可能多的字元;非貪婪則相反,總是嘗試匹配盡可能少的字元。在"*","?","+",""後面加上?,使貪婪變成非貪婪

9.字串前加r的作用

python中字串前面加上 r 表示原生字串

python中正規表示式

python中正規表示式語法與linux中的相容 檢視正規表示式 python提供re模組,包含所有正規表示式的功能。由於python的字串本身也用 轉義,所以要特別注意 s abc 001 python的字串 對應的正規表示式字串變成 abc 001 建議使用python的r字首,就不用考慮轉義的...

Python 中 正規表示式

一 最近要對字串執行很多操作,所以學了正規表示式 不得不說正規表示式對字串的操作還是很給力的 runoob上面的教程 python中的正規表示式 正規表示式教程 python中要使用正規表示式,首先要匯入re模組 import re 二 常用函式 或者說方法 re.match 作用 嘗試從字串的起始...

Python中正規表示式

python re模組正規表示式中常用的字元有兩類 普通字元和11個元字元,元字元表示特定的功能,比如下面的 被括起來的表示式將作為分組,從表示式左邊開始每遇到乙個分組的左括號 編號 1。分組表示式作為乙個整體,可以後接數量詞。表示式中的 僅在該組中有效。那麼我們想匹配表示式中的 字元怎麼辦呢?通過...