性夜影院午夜看片,无码精品久久一区二区三区,婷婷成人丁香五月综合激情,校园春色 qvod,性调教室高h学校

帶小白了解什么是Python教程-正則表達(dá)式?

今天馬哥教育要跟大家分享的文章是帶小白了解什么是Python教程-正則表達(dá)式?熟悉Python的小伙伴們都知道對(duì)于正則表達(dá)式,剛開(kāi)始學(xué)習(xí)的時(shí)候,覺(jué)得它毫無(wú)規(guī)律的可言就是一串標(biāo)點(diǎn)符號(hào)和字母組成的一個(gè)不知道用來(lái)干什么的表達(dá)式。Python入門(mén)新手和正在Python學(xué)習(xí)的小伙伴快來(lái)看一看吧,希望能夠?qū)Υ蠹矣兴鶐椭?!

身邊的正則表達(dá)式

網(wǎng)上說(shuō)的什么XX分鐘精通正則完全是騙人的。本文旨在讓大家對(duì)正則表達(dá)式有一些基礎(chǔ)的概念與了解,能看得懂簡(jiǎn)單的正則表達(dá)式,寫(xiě)得出簡(jiǎn)單的正則表達(dá)式。至于精通,那就只能在日常開(kāi)發(fā)過(guò)程中慢慢摸索深入理解了。

在講正則表達(dá)式之前,先給大家講個(gè)例子。假設(shè)你正在用手機(jī)瀏覽電子書(shū)(正看到男主收異火,尋寶物,煉丹藥,斗魂族踏上逆襲之路的時(shí)候,又或者女主兜兜轉(zhuǎn)轉(zhuǎn)又來(lái)到了自己命中注定的男主身邊的時(shí)候。)這時(shí),突然你手滑了……又回到了整本書(shū)的首頁(yè)。這時(shí)你會(huì)怎么辦呢?大多數(shù)人應(yīng)該有如下三種辦法:

從首頁(yè)一頁(yè)一頁(yè)往目標(biāo)頁(yè)翻。這種情況雖然可以,但是等到你翻到那一頁(yè)的時(shí)候,估計(jì)你都忘了前面的劇情講了什么。這種我們列為下選。

還有一種就是你記得看的章節(jié),然后先跳轉(zhuǎn)到章節(jié)首頁(yè),然后再一頁(yè)頁(yè)往后翻,這種雖然可以但是看書(shū)看的入神的時(shí)候誰(shuí)還記得自己看第幾章啊。這種我們列為中選。

最后一種,就是根據(jù)關(guān)鍵字進(jìn)行篩選。假設(shè)你正看到男主角創(chuàng)立了“無(wú)盡火域”,或者女主角與男主角解開(kāi)了種種矛盾重歸于好。那么此時(shí)你就可以根據(jù)文章中的關(guān)鍵字對(duì)整本書(shū)進(jìn)行檢索。這種又有利于你回憶自己看過(guò)的劇情,又快速的方法。我們列為上選。

讀到這里,很多朋友應(yīng)該已經(jīng)明白了。最后一種通過(guò)關(guān)鍵字檢索到我們所需求的文本就是正則表達(dá)式的一種——精確匹配。

正則表達(dá)式的相關(guān)知識(shí)

在我們?nèi)粘i_(kāi)發(fā)中,正則通常被用來(lái)校驗(yàn)用戶(hù)輸入的內(nèi)容是否符合邏輯。如:校驗(yàn)郵箱、生日、手機(jī)號(hào)、身份證號(hào)等等。

那么接下來(lái)我們就來(lái)一起學(xué)習(xí)一下它。因?yàn)檎齽t表達(dá)式也是用字符串表示的,所以,我們要首先了解如何用字符來(lái)描述字符。

在正則表達(dá)式中,如果直接給出字符,就是精確匹配。用d可以匹配一個(gè)數(shù)字,w可以匹配一個(gè)字母或數(shù)字,所以:

'00d'可以匹配'007',但無(wú)法匹配'00A';

'ddd'可以匹配'010';

'wwd'可以匹配'py3';

. 可以匹配任意字符。例如:

pytho. 可以匹配Python、pythoa、pytho7、Python!等。

要匹配變長(zhǎng)的字符,在正則表達(dá)式中, * 表示任意個(gè)字符(包括零個(gè)),+ 表示至少一個(gè)字符,? 表示零個(gè)或一個(gè)字符, {n} 表示n個(gè)字符,{n,m} 表示n-m個(gè)字符,[] 表示范圍。我們來(lái)看一個(gè)例子:

^[1-9]d{4,11}$

上面的表達(dá)式中:

^:表達(dá)了一行的起始位置。

^[1-9]:表示了必須以數(shù)字1-9開(kāi)開(kāi)頭的字符串。

{4,11}:表示了4到11個(gè)字符 。

$:表示一行的結(jié)束位置,d$表示必須以數(shù)字結(jié)尾。

下表是對(duì)正則表達(dá)式中的一些基本符號(hào)進(jìn)行的總結(jié)。

正則表達(dá)式

Python中的正則表達(dá)式

Python 自1.5版本起增加了 re 模塊,它提供 Perl 風(fēng)格的正則表達(dá)式模式。

re 模塊使 Python 語(yǔ)言擁有全部的正則表達(dá)式功能。

由于Python中也使用 ‘’ 作為轉(zhuǎn)義字符。因此,建議大家在字符串前面加上r,用來(lái)表示原始字符串。舉例:

# 不加 r使用 轉(zhuǎn)義

s = 'ABC\-001'

 # Python的字符串

# 對(duì)應(yīng)的正則表達(dá)式字符串變成:

# 'ABC-001'

# 加 r 使用原始字符串s = r'ABC-001'

 # Python的字符串

# 對(duì)應(yīng)的正則表達(dá)式字符串不變:

# 'ABC-001'

下面是re包的常用函數(shù):

零基礎(chǔ)Python教程

re.match與re.search的區(qū)別

re.match只匹配字符串的開(kāi)始,如果字符串開(kāi)始不符合正則表達(dá)式,則匹配失敗,函數(shù)返回None;而re.search匹配整個(gè)字符串,直到找到一個(gè)匹配。

#!/usr/bin/Python

import re

line = "Cats are smarter than dogs";

matchObj = re.match( r'dogs', line, re.M|re.I)

if matchObj:

print "match --> matchObj.group() : ", matchObj.group()

else:

print "No match!!"

matchObj = re.search( r'dogs', line, re.M|re.I)

if matchObj:

print "search --> matchObj.group() : ", matchObj.group()

else:

print "No match!!"

# 運(yùn)行結(jié)果No match!!

search --> matchObj.group() : dogs

正則表達(dá)式可以包含一些可選標(biāo)志修飾符來(lái)控制匹配的模式。修飾符被指定為一個(gè)可選的標(biāo)志。多個(gè)標(biāo)志可以通過(guò)按位 OR(|) 它們來(lái)指定。如 re.I | re.M 被設(shè)置成 I 和 M 標(biāo)志。

以上就是馬哥教育今天為大家分享的關(guān)于帶小白了解什么是Python教程-正則表達(dá)式的文章,希望本篇文章能夠?qū)φ趶氖翽ython相關(guān)工作的小伙伴們有所幫助,想要了解更多相關(guān)知識(shí)記得關(guān)注馬哥教育官網(wǎng),每天都會(huì)有大量?jī)?yōu)質(zhì)內(nèi)容與大家分享!

聲明:文章來(lái)源于網(wǎng)絡(luò),侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專(zhuān)業(yè)人才培訓(xùn)機(jī)構(gòu)!