日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

只需十分鐘,淺識(shí)正則表達(dá)式

 L羅樂(lè) 2019-04-13

根據(jù)百度百科的解釋,正則表達(dá)式的概念是:對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。

emmmm,看完這一大堆文字,表示好暈哦,還是不能理解??!

但是,正則表達(dá)式對(duì)數(shù)據(jù)處理來(lái)說(shuō)非常重要!數(shù)據(jù)的清洗或網(wǎng)頁(yè)爬蟲(chóng)中解析數(shù)據(jù)都用得上它。

因?yàn)樗幸韵聝?yōu)點(diǎn):

(1)可以簡(jiǎn)化代碼,實(shí)現(xiàn)起來(lái)更加簡(jiǎn)便;

(2)處理字符串的時(shí)候更容易理解;

(3)其速度比自己寫(xiě)邏輯代碼要快。

(⊙o⊙)…有什么通俗易懂的解釋可以讓新手快速掌握這個(gè)名詞的精髓呢???

簡(jiǎn)單來(lái)說(shuō),正則表達(dá)式就是設(shè)定一個(gè)字符串規(guī)則,然后幫助我們判斷某個(gè)字符串是不是符合這個(gè)模式,也可以根據(jù)該規(guī)則提取我們需要的數(shù)據(jù)。

這么解釋,是不是容易理解多了,但是沒(méi)有事例結(jié)合還是一知半解,下面讓我們利用正則表達(dá)式做一個(gè)簡(jiǎn)單的演示:

正則表達(dá)式語(yǔ)法

^     匹配字符串開(kāi)頭

$     匹配字符串末尾

例如,'^abc':匹配以'abc'開(kāi)頭的字符串;'abc$':匹配以'abc'結(jié)尾的字符串;

re*    匹配0個(gè)或多個(gè)的字符

re   匹配1個(gè)或多個(gè)的字符

re?   匹配0個(gè)或1個(gè)由前面的正則表達(dá)式定義的片段,非貪婪方式

例如,'ab*':匹配字符串a(chǎn)和0個(gè)或多個(gè)b組成的字符串('a'、'ab'、'abb'......)

            'ab ':匹配字符串a(chǎn)和1個(gè)或多個(gè)b組成的字符串('ab'、'abb'......)

            'ab?':匹配字符串a(chǎn)和0個(gè)或1個(gè)b組成的字符串

匹配任意字符串,除了換行符

[abc]  匹配單個(gè)的字符a或b或c

[^abc]  匹配除了a,b,c之外的字符

\w  匹配字母數(shù)字及下劃線

\W   匹配非字母數(shù)字及下劃線

\s  匹配任意空白字符,等價(jià)于[\t\n\r\f]

\S 匹配任意非空字符

\d  匹配任意數(shù)字

\D  匹配任意非數(shù)字

。。。

這么多語(yǔ)法,這也太暈了吧,不要著急,根據(jù)下面這個(gè)圖片,在使用時(shí)慢慢查閱,以后熟練了就好啦。

正則表達(dá)式實(shí)例

看了這么多的語(yǔ)法,頭暈?zāi)X脹,到底怎么才能構(gòu)建一個(gè)模式來(lái)匹配字符串呢?比如,現(xiàn)在要求我們從一大堆字符串中提取出需要的數(shù)據(jù):郵箱地址。這該怎么辦??

很顯然,郵箱地址一般是這樣的:

xiaobai@qq.com

根據(jù)前面提到的語(yǔ)法,我們可以定義這樣一個(gè)規(guī)則:

^\w @\w \.[com,cn,net]{1,3}$

其中\(zhòng)w表示單詞字符,等價(jià)于[A-Za-z0-9_],匹配字母數(shù)字及下劃線

表示匹配1個(gè)或多個(gè)的字符

\w 代表匹配字符[A-Za-z0-9_]一次或多次的組合字符串

\.的含義是將'.'轉(zhuǎn)義,因?yàn)?span>'.'本身也是語(yǔ)法

{1,3}表示匹配前一個(gè)字符1-3次,至少1次,至多3次

[com,cn,net]字符集,表示匹配其中任意一個(gè)字符

下面用Python代碼簡(jiǎn)單看一下演示,首先導(dǎo)入正則表達(dá)式的庫(kù)re模塊,再定義字符串規(guī)則pattern,如果匹配成功,則輸出YES,反之則沒(méi)有輸出。

具體的Python正則表達(dá)式大法,還聽(tīng)下回分解!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多