电竞比分网-中国电竞赛事及体育赛事平台

分享

正則表達(dá)式簡(jiǎn)要教程

 泳光圖書(shū)館 2019-01-11

正則表達(dá)式,是一種小型高度專(zhuān)業(yè)化的語(yǔ)言,描述了一種字符串匹配的模式。

在任何常見(jiàn)的語(yǔ)言中,只要這種語(yǔ)言能處理字符串,就應(yīng)該包含正則表達(dá)式。

所謂的正則表達(dá)式,就是通過(guò)一段規(guī)則表達(dá)一段文本。

下列為一個(gè)完整的元字符列表:

. ^ $ * + ? { } [ ] \ | ( )

上列字符不會(huì)和它們本身相匹配,如果想匹配自身,就需要在元字符前加/。

元字符簡(jiǎn)略介紹

* :匹配前面的子表達(dá)式零次或多次。

+ :匹配前面的子表達(dá)式一次或多次。

? :匹配前面的子表達(dá)式零次或一次。

: 匹配確定的 n 次。

: 至少匹配n 次。

: 最少匹配 n 次且最多匹配 m 次。

*+限定符都是貪婪的,因?yàn)樗鼈儠?huì)盡可能多的匹配文字,只有在它們的后面加上一個(gè)?就可以實(shí)現(xiàn)非貪婪或最小匹配。

^ : 匹配輸入字符串的開(kāi)始位置。

$ : 匹配輸入字符串的結(jié)束位置。

不能將限定符與定位符一起使用。

[xyz] : 字符集合。匹配所包含的任意一個(gè)字符。

[^xyz] : 負(fù)值字符集合。匹配未包含的任意字符。

[a-z] : 字符范圍。匹配指定范圍內(nèi)的任意字符。

[^a-z] : 負(fù)值字符范圍。匹配任何不在指定范圍內(nèi)的任意字符。

x|y : 匹配 x 或 y。

(pattern) : 匹配 pattern 并獲取這一匹配。

(?:pattern) : 匹配 pattern 但不獲取匹配結(jié)果。

(?=pattern) : 正向肯定預(yù)查。

(?!pattern) : 正向否定預(yù)查。

圓括號(hào)會(huì)使匹配會(huì)被緩存,非捕獲元(?: ?= ?!)可以消除這個(gè)效果。

\d : 匹配十進(jìn)制數(shù)。

\s : 匹配空白字符。

\w : 匹配字母數(shù)字。

\b : 匹配一個(gè)單詞邊界。

當(dāng)以上四個(gè)字母大寫(xiě)時(shí),代表著取反。

簡(jiǎn)單實(shí)例

/[a-z]/ : a至z共26個(gè)字母再。

/^\s*$/ : 匹配空行。

/\d-\d/ : 驗(yàn)證由三位數(shù)字、一個(gè)連字符再加四位數(shù)字。

https?://.*? : 匹配http或https開(kāi)頭的網(wǎng)址。

我們可以通過(guò)正則表達(dá)式從長(zhǎng)文本中提取出匹配模式的文本,或者判斷文本是否合取某種規(guī)則。

它在表單驗(yàn)證(如驗(yàn)證手機(jī)號(hào),郵箱等),爬蟲(chóng),數(shù)據(jù)清洗等方面都有比較重要的作用,所以學(xué)習(xí)使用還是非常有必要的。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(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)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多