正則表達(dá)式是編程中經(jīng)常用的,提高了編程人員的工作效率,小編為您帶來(lái)了20個(gè)常用正則表達(dá)式,熟練使用,可以讓你少寫(xiě)許多代碼!
正則表達(dá)式介紹
正則表達(dá)式,又稱規(guī)則表達(dá)式。(英語(yǔ):Regular Expression,在代碼中常簡(jiǎn)寫(xiě)為regex、regexp或RE),計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表通常被用來(lái)檢索、替換那些符合某個(gè)模式(規(guī)則)的文本。許多程序設(shè)計(jì)語(yǔ)言都支持利用正則表達(dá)式進(jìn)行字符串操作。例如,在Perl中就內(nèi)建了一個(gè)功能強(qiáng)大的正則表達(dá)式引擎,還有java語(yǔ)言自帶的。正則表達(dá)式這個(gè)概念最初是由Unix中的工具軟件(例如sed和grep)普及開(kāi)的。正則表達(dá)式通常縮寫(xiě)成“regex”,單數(shù)有regexp、regex,復(fù)數(shù)有regexps、regexes、regexen。
正則表達(dá)式速記理解技巧
等價(jià):
等價(jià)是等同于的意思,表示同樣的功能,用不同符號(hào)來(lái)書(shū)寫(xiě)。
?,*,+,\d,\w 都是等價(jià)字符
?等價(jià)于匹配長(zhǎng)度{0,1}
*等價(jià)于匹配長(zhǎng)度{0,}
+等價(jià)于匹配長(zhǎng)度{1,}
\d等價(jià)于[0-9]
\D等價(jià)于[^0-9]
\w等價(jià)于[A-Za-z_0-9]
\W等價(jià)于[^A-Za-z_0-9]。
常用運(yùn)算符與表達(dá)式:
^ 開(kāi)始
() 域段
[] 包含,默認(rèn)是一個(gè)字符長(zhǎng)度
[^] 不包含,默認(rèn)是一個(gè)字符長(zhǎng)度
{n,m} 匹配長(zhǎng)度
. 任何單個(gè)字符(\. 字符點(diǎn))
| 或
\ 轉(zhuǎn)義
$ 結(jié)尾
[A-Z] 26個(gè)大寫(xiě)字母
[a-z] 26個(gè)小寫(xiě)字母
[0-9] 0至9數(shù)字
[A-Za-z0-9] 26個(gè)大寫(xiě)字母、26個(gè)小寫(xiě)字母和0至9數(shù)字
,分割
分割語(yǔ)法:
[A,H,T,W] 包含A或H或T或W字母
[a,h,t,w] 包含a或h或t或w字母
[0,3,6,8] 包含0或3或6或8數(shù)字
語(yǔ)法與釋義:
基礎(chǔ)語(yǔ)法 ^([]{})([]{})([]{})$
正則字符串 = 開(kāi)始([包含內(nèi)容]{長(zhǎng)度})([包含內(nèi)容]{長(zhǎng)度})([包含內(nèi)容]{長(zhǎng)度})結(jié)束
?,*,+,\d,\w 這些都是簡(jiǎn)寫(xiě)的,完全可以用[]和{}代替,在(?:)(?=)(?!)(?=)(?!)(?i)(*?)(+?)這種特殊組合情況下除外。
初學(xué)者可以忽略?,*,+,\d,\w一些簡(jiǎn)寫(xiě)標(biāo)示符,學(xué)會(huì)了基礎(chǔ)使用再按表自己去等價(jià)替換
實(shí)例:
字符串;tel:086-0666-88810009999
原始正則:^tel:[0-9]{1,3}-[0][0-9]{2,3}-[0-9]{8,11}$
速記理解:開(kāi)始 tel:普通文本[0-9數(shù)字]{1至3位}-普通文本[0數(shù)字][0-9數(shù)字]{2至3位}-普通文本[0-9數(shù)字]{8至11位} 結(jié)束
等價(jià)簡(jiǎn)寫(xiě)后正則寫(xiě)法:^tel:\d{1,3}-[0]\d{2,3}-\d{8,11}$ ,簡(jiǎn)寫(xiě)語(yǔ)法不是所有語(yǔ)言都支持。
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版