正則表達(dá)式,又稱(chēng)正規(guī)表示法、常規(guī)表示法。(英語(yǔ):Regular Expression,在代碼中常簡(jiǎn)寫(xiě)為regex、regexp或RE),計(jì)算機(jī)科學(xué)的一個(gè)概念。正則表達(dá)式使用單個(gè)字符串來(lái)描述、匹配一系列符合某個(gè)句法規(guī)則。在很多文本編輯器里,正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式的文本。
正則表達(dá)式的功能非常的強(qiáng)大,廢話(huà)不多說(shuō)了,直接給大家分享整理的內(nèi)容了。
一:基本匹配符:
d 匹配數(shù)字 eg:’5d0′——->’580′
w 匹配字母或數(shù)字 eg:’dww’———>’8zh’
. 匹配除換行符外的任何一個(gè)字符任意字符 eg:’zh.’———–>’zh&’
s 空白符(tab)或空格
二:匹配字符長(zhǎng)度:
* 表示任意個(gè)字符(包括0個(gè))
+ 表示至少一個(gè)字符
? 表示0個(gè)或1個(gè)字符
{n} 表示n個(gè)字符
{n,m}表示n-m個(gè)字符
********************************************************
練習(xí)題一道:d{3}s+d{3,8};
答案在這里2333: 匹配的是由3個(gè)數(shù)字緊接至少一個(gè)空格或空白符緊接3到8個(gè)數(shù)字;
********************************************************
<<<<< 補(bǔ)充一句: 像’-‘這樣的特殊字符需要轉(zhuǎn)譯才能匹配哦~ like this ‘-‘ >>>>>
三: 但是如果單純是這樣的匹配的話(huà), 未免有點(diǎn)簡(jiǎn)單點(diǎn)了, 面對(duì)復(fù)雜的匹配我們還需要更精準(zhǔn)的匹配方法:
[0-9a-zA-Z_] 可以匹配一個(gè)數(shù)字或者字母或者下劃線(xiàn), 親測(cè): ‘0’, ‘a’, ‘Z’, ‘_’都能匹配, 所以說(shuō)介種表達(dá)方式是可或可與的組成方式;
[0-9a-zA-Z_]+ 可以匹配至少由一個(gè)數(shù)字或字母或下劃線(xiàn)組成的字符串;
[a-zA-Z_][0-9a-zA-Z_]* 可以匹配由字母或下劃線(xiàn)開(kāi)頭, 后面緊接任意一個(gè)數(shù)字或字母或下劃線(xiàn);
[a-zA-Z_][0-9a-zA-Z_]{0,19} 限制長(zhǎng)度在1到20, 為什么是1到20呢, 開(kāi)頭占一位后面緊接的字符串限制在0到19, 所以最大長(zhǎng)度限制在20啦;
A|B 可以匹配A或B. [J|j]aina可以匹配jaina或Jaina;
^ 表示必須以某字符開(kāi)頭, eg: ^d 表示必須以數(shù)字開(kāi)頭的
$ 表示必須以某字符結(jié)尾 , eg: d$ 表示必須以數(shù)字結(jié)尾, 注意它們倆的表達(dá)方式^是放在字符前面的, $是放在字符后面的
四: js中的驗(yàn)證方法:
var reg='d{3}s+d{3,8}'; var tel='010 123456'; console.log(reg.test(tel));//true
以上所述是小編給大家介紹的正則表達(dá)式日常收集整理(簡(jiǎn)單且實(shí)用),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)網(wǎng)站的支持!