中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么使用正則表達式及正則表達式匹配規則是什么

發布時間:2023-05-11 17:41:15 來源:億速云 閱讀:131 作者:iii 欄目:開發技術

本篇內容介紹了“Python中怎么使用正則表達式及正則表達式匹配規則是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1 導庫

import re

2 使用模板

re_pattern = re.compile(pattern, flags=0)
result = re.findall(re_pattern,string)

3 說明

參數描述
pattern匹配的正則表達式,如 r'abc' 可用來匹配abc
flags

可選,標志位,控制匹配方式,可選值:

re.I    忽略大小寫

re.L    表示特殊字符集\w \W \b \B \s \S,依賴于當前環境

re.M    多行模式

re.S    包括換行符在內的任意字符

re.U    根據Unicode字符集解析字符

re.X    為了增加可讀性,忽略空格和#后面的注釋

re.A    根據ASCII碼解析字符

string待匹配字符串
方法描述
compile編譯正則表達式,生成一個正則表達式(Pattern)對象
findall全文匹配,匹配結果以列表形式返回

4 示例

以下代碼用來在字符串 str 中匹配符合如下規則的字符串:

中英文括號開頭+1個大寫字母+1個或無限個數字+0個或1個字符“.”+0個或1個字符“/”+0個或無限個數字+中英文括號結尾

# 導庫
import re
# 待處理字符串
str = '小分裂細胞型(彌漫性)非霍奇金淋巴瘤(M96720/3)(Y97.1)(Y77)(yyy)'
# 設定匹配規則,編譯
re_str = re.compile(r'[(|(][A-Z][0-9]+[.]?[/]?[0-9]*[)|)]', re.S)
# 匹配
ans = re.findall(re_str,str)
# 打印
print(ans)

在字符串 str 中的匹配結果如下,可見有三個字符串符合匹配規則:

Python中怎么使用正則表達式及正則表達式匹配規則是什么

5 正則表達式匹配規則

語法

描述

正則表達式示例

對應可匹配字符串示例

一般字符匹配自身abcabc
元字符


.除了換行符之外的任意單個字符a.cabc
*匹配前面一個字符0或無限次ab*

a

abbb

+匹配前面一個字符1次或無限次ab+

ab

abbb

?匹配前面一個字符0次或1次ab?

a

ab

\轉義符,使后面一個字符保持原來的意思a\.ba.b
[]

字符集,里面的字符可以是任意數量個字符,也可以是一個范圍,比如可以是[abc]或者[a-c],均表示匹配abc中的一個字符。同時,可以將第一個字符設為^,用來表示取反,如[^abc]表示除了abc以外的字符。


注意,所有的特殊字符在[]內都失去其原有的特殊含義,如[.]僅表示匹配字符.而不是匹配任意字符了,當然,如果要使用]、-或^三個字符,仍需要使用轉義字符\

[abc]

[a-c]

a

b

c

{m}m是一個非負整數,表示匹配前一個字符m次abc{2}abcc
{m,n}m和n都是非負整數,且m≤n,表示最少匹配m次且最多匹配n次ab{2,4}cabbc
|邏輯或,匹配左右表達式中的任意一個。具有“短路”特點,先匹配左側表達式,再匹配右側表達式。建議用()括起來,否則會作用于整個正則表達式abc|123

abc

123

()括號,將表達式括起來作為一個分組。分組表達式是一個整體a(bc)?d

ad

abcd

定位符


^匹配字符串的開頭字符^abcabc
$匹配字符串的結尾字符abc$abc
\b

匹配一個單詞的邊界

如\bab表示匹配字符串ab且ab前面要是空格

如ab\b表示匹配字符串ab且ab后面要是空格

\bab

可以匹配到abc中的ab

無法匹配到cab中的ab

\B匹配非邊界\Bab

可以匹配到cab中的ab

無法匹配到abc中的ab

預定義字符集


\d匹配數字,等價于[0-9]a\dca1c
\D匹配非數字,等價于[^\d]a\Dcabc
\s匹配空白字符,包括空格、制表符、換頁符等a\sca c
\S匹配非空白字符,等價于[^\s]a\Scabc
\w匹配字母數字下劃線,等價于[a-zA-Z0-9_]a\wca_c
\W匹配非字母數字下劃線,等價于[^\w]a\Wca c

“Python中怎么使用正則表達式及正則表達式匹配規則是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林州市| 晋中市| 苏尼特右旗| 山东| 望都县| 彭水| 荔浦县| 长海县| 巴南区| 获嘉县| 河北区| 金沙县| 德惠市| 琼结县| 荃湾区| 大港区| 嘉禾县| 富民县| 木里| 三河市| 分宜县| 衡阳县| 青川县| 墨脱县| 三穗县| 织金县| 怀集县| 舞钢市| 五河县| 鸡东县| 休宁县| 贺兰县| 兴文县| 临沂市| 东阳市| 通州区| 兴仁县| 友谊县| 通海县| 林口县| 弥渡县|