国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python高階技巧 正則表達(dá)式

這篇具有很好參考價(jià)值的文章主要介紹了Python高階技巧 正則表達(dá)式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

正則表達(dá)式,又稱規(guī)則表達(dá)式(Regular Expression),是使用單個字符串來描述、匹配某個句法規(guī)則的字符串,常被用來檢索、替換那些符合某個模式(規(guī)則)的文本。

簡單來說,正則表達(dá)式就是使用:字符串定義規(guī)則,并通過規(guī)則去驗(yàn)證字符串是否匹配。

比如,驗(yàn)證一個字符串是否是符合條件的電子郵箱地址,只需要配置好正則規(guī)則,即可匹配任意郵箱。

比如通過正則規(guī)則: (^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$) ?即可匹配一個字符串是否是標(biāo)準(zhǔn)郵箱格式

但如果不使用正則,使用if else來對字符串做判斷就非常困難了。

正則的三個基礎(chǔ)方法

Python正則表達(dá)式,使用re模塊,并基于re模塊中三個基礎(chǔ)方法來做正則匹配。

分別是:match、search、findall 三個基礎(chǔ)方法

re.match(匹配規(guī)則, 被匹配字符串)

從被匹配字符串開頭進(jìn)行匹配, 匹配成功返回匹配對象(包含匹配的信息),匹配不成功返回空。

Python高階技巧 正則表達(dá)式,Python,正則表達(dá)式,正則表達(dá)式,python

?Python高階技巧 正則表達(dá)式,Python,正則表達(dá)式,正則表達(dá)式,python

re.search(匹配規(guī)則, 被匹配字符串)

搜索整個字符串,找出匹配的。從前向后,找到第一個后,就停止,不會繼續(xù)向后

Python高階技巧 正則表達(dá)式,Python,正則表達(dá)式,正則表達(dá)式,python

整個字符串都找不到,返回None

Python高階技巧 正則表達(dá)式,Python,正則表達(dá)式,正則表達(dá)式,python

re.findall(匹配規(guī)則, 被匹配字符串)

匹配整個字符串,找出全部匹配項(xiàng)

Python高階技巧 正則表達(dá)式,Python,正則表達(dá)式,正則表達(dá)式,python

找不到返回空list: []

Python高階技巧 正則表達(dá)式,Python,正則表達(dá)式,正則表達(dá)式,python

?元字符匹配

正則最強(qiáng)大的功能在于元字符匹配規(guī)則。 單字符匹配:

單字符匹配
字符 功能
. 匹配任意1個字符 (除了\n),\.? 匹配點(diǎn)本身
[ ] 匹配[ ]中列舉的字符
\d 匹配數(shù)字,即0 - 9
\D 匹配非數(shù)字
\s 匹配空白,即空格、tab鍵
\S 匹配非空白
\w 匹配單詞字符,即a-z、A-Z、0-9、
\W 匹配非單詞字符

示例:

字符串 s = “itheima1 @@python2 !!666 ##itcast3”

  • 找出全部數(shù)字: re.findall(r‘\d’, s)

字符串的r標(biāo)記,表示當(dāng)前字符串是原始字符串,即內(nèi)部的轉(zhuǎn)義字符無效而是普通字符

  • 找出特殊字符:

re.findall(r‘\W’, s)

  • 找出全部英文字母:

re.findall(r’[a-zA-Z]’, s)

[]內(nèi)可以寫:[a-zA-Z0-9] 這三種范圍組合或指定單個字符如

[aceDFG135]

數(shù)量匹配
字符 功能
* 匹配前一個規(guī)則的字符出現(xiàn)0至無數(shù)次
+ 匹配前一個規(guī)則的字符出現(xiàn)1至無數(shù)次
? 匹配前一個規(guī)則的字符出現(xiàn)0次或無數(shù)次
{m} 匹配前一個規(guī)則的字符出現(xiàn)m次
{m,} 匹配前一個規(guī)則的字符出現(xiàn)最少m次
{m,n} 匹配前一個規(guī)則的字符出現(xiàn)m到n次
邊界匹配
字符 功能
^ 匹配字符串開頭
$ 匹配字符串結(jié)尾
\b 匹配一個單詞的邊界
\B 匹配非單詞邊界
分組匹配
字符 功能
| 匹配左右任意一個表達(dá)式
() 在括號中字符作為一個分組

案例

  • 匹配賬號,只能由字母和數(shù)字組成,長度限制6到10位

規(guī)則為: ^[0-9a-zA-Z]{6, 10}$

  • 匹配QQ號,要求純數(shù)字,長度5-11,第一位不為0

規(guī)則為:^[1-9][0-9]{4, 10}&

[1-9]匹配第一位,[0-9]匹配后面4到10位

  • 匹配郵箱地址,只允許qq、163、gmail這三種郵箱地址

規(guī)則為:^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+&

  • [\w-]+ 表示出現(xiàn)a-z A-Z 0-9 _ 和 - 字符最少一個,最多不限
  • (\.[\w-]+)*,表示出現(xiàn)組合 . 和 a-z A-Z 0-9 _ ?-的組合最少0次,最多不限

用于匹配:abc.ced.efg@123.com中的ced.efg這部分

  • @表示匹配@符號
  • (qq|163|gmail)表示只匹配這3個郵箱提供商
  • (\.[\w-]+)+表示a-z A-Z 0-9 _ ?-的組合最少1次,最多不限

用于匹配abc.ced.efg@123.com.cn中的.com.cn這種

最后使用+表示最少一次,即比如:.com

多了可以是:.com.cn.eu這樣文章來源地址http://www.zghlxwxcb.cn/news/detail-629333.html

到了這里,關(guān)于Python高階技巧 正則表達(dá)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 老夫的正則表達(dá)式大成了,桀桀桀桀!?。 綪ython 正則表達(dá)式筆記】

    特殊字符 .^$?+*{}[]()| 為特殊字符,若想要使用字面值,必須使用 進(jìn)行轉(zhuǎn)義 字符類 [] [] 匹配包含在方括號中的任何字符。它也可以指定范圍,例: [a-zA-Z0-9] 表示a到z,A到Z,0到9之間的任何一個字符 [u4e00-u9fa5] 匹配 Unicode 中文 [^x00-xff] 匹配雙字節(jié)字符(包括中文) 在 [] 中

    2024年02月04日
    瀏覽(21)
  • python 正則表達(dá)式

    python 正則表達(dá)式

    2024年01月17日
    瀏覽(29)
  • PYthon正則表達(dá)式

    PYthon正則表達(dá)式

    正則表達(dá)式是對字符串(包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為“元字符”))操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達(dá)對字符串的一種過濾邏輯。正則

    2024年01月17日
    瀏覽(65)
  • 機(jī)器學(xué)習(xí)與數(shù)據(jù)科學(xué)-專題1 Python正則表達(dá)式-【正則表達(dá)式入門-1】

    機(jī)器學(xué)習(xí)與數(shù)據(jù)科學(xué)-專題1 Python正則表達(dá)式-【正則表達(dá)式入門-1】

    為了完成本關(guān)任務(wù),你需要掌握: 在 Python 中使用正則表達(dá)式; 最基礎(chǔ)正則表達(dá)式; 正則匹配函數(shù)。 在 Python 中使用正則表達(dá)式 正可謂人生苦短,我用 Python。Python 有個特點(diǎn)就是庫非常多,自然擁有正則匹配這種常見的庫,并且此庫已經(jīng)嵌入在 Python 標(biāo)準(zhǔn)庫中,使用起來非常

    2024年01月22日
    瀏覽(108)
  • 速通Python正則表達(dá)式

    幾乎所有語言中的正則表達(dá)式都有相類似的語法,python亦莫能外。 接下來直觀地看一下最常用的的三大函數(shù) 其中, re.match 要求從頭匹配; search 可以從任意位置匹配,但只返回第一個匹配的值的位置; findall 返回所有符合要求的值。 任意字符 . 匹配除了換行符之外的所有字

    2024年02月06日
    瀏覽(25)
  • Python 正則表達(dá)式轉(zhuǎn)義

    這篇文章是關(guān)于 Python 正則表達(dá)式轉(zhuǎn)義的。 此外,我們將介紹 Python 正則表達(dá)式轉(zhuǎn)義以及如何通過適當(dāng)?shù)氖纠a使用它,以及 Python 正則表達(dá)式的多種用途。 此外,Python 支持使用正則表達(dá)式(或正則表達(dá)式)對字符串進(jìn)行搜索和替換操作。 RegEx 是一種根據(jù)預(yù)定義模式匹配文

    2024年02月09日
    瀏覽(20)
  • python之正則表達(dá)式

    目錄 正則表達(dá)式 python正則表達(dá)式方法? match search findall finditer compile 元字符匹配 元字符 量詞 貪婪匹配和惰性匹配 正則表達(dá)式的group 語法 案例? 正則表達(dá)式又稱規(guī)則表達(dá)式,是使用單個字符串來描述、匹配某個句法規(guī)則的字符串,常被用來檢索、替換那些符合某個模式的文

    2024年02月14日
    瀏覽(17)
  • Python正則表達(dá)式(小結(jié))

    正則表達(dá)式(regular expression,有時簡寫為RegEx 或 regex)就是用一組由字母和符號組成的“表達(dá)式”來描述一個特征,然后去驗(yàn)證另一個“字符串”是否符合/匹配這個特征。 (1)驗(yàn)證字符串是否符合指定特征,比如驗(yàn)證郵件地址是否符合特定要求等; (2)用來查找字符串,

    2024年02月05日
    瀏覽(27)
  • Python學(xué)習(xí)之路-正則表達(dá)式

    正則表達(dá)式是計(jì)算機(jī)科學(xué)的一個概念。正則表達(dá)式使用單個字符串來描述、匹配一系列匹配某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達(dá)式通常被用來檢索、替換那些匹配某個模式的文本。 在Python中需要通過正則表達(dá)式對字符串進(jìn)行匹配的時候,可以使用一個模塊

    2024年01月24日
    瀏覽(90)
  • python 之正則表達(dá)式詳解

    python 之正則表達(dá)式詳解

    分清字符串與字符 在Python中,前綴 r 或 R 表示原始字符串。這種原始字符串中的反斜杠字符 被視為普通字符,而不是轉(zhuǎn)義字符。這在處理正則表達(dá)式、文件路徑等需要保留反斜杠原始含義的情況下非常有用。 原始字符串的特點(diǎn): 反斜杠不進(jìn)行轉(zhuǎn)義: 在普通字符串中,反斜

    2024年02月06日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包