正文

正則表達(dá)式不包含(正則表達(dá)式大全)

shiyingbao

正則表達(dá)式不包含(正則表達(dá)式大全)

正則表達(dá)式不管是做哪方面開發(fā)的朋友都會(huì)使用到,但是有好多人不太懂正則正則表達(dá)式,又因?yàn)橛玫念l率比較低的緣故又懶得去看,用的時(shí)候就直接到網(wǎng)上找一下,但經(jīng)常在網(wǎng)上去找很久,結(jié)果也不一定跟需要的符合。今天我把咱們經(jīng)常用到的一點(diǎn)先放上來,如果那些用的多的在慢慢添加更新。

數(shù)字的正則

1、純數(shù)字正則:^[0-9]*$

2、 有n位的數(shù)字正則:^\d{n}$

3、至少有n位數(shù)字的正則:^\d{n,}$

4、位數(shù)在m-n位之間的正則:^\d{m,n}$

5、匹配整數(shù)(不區(qū)分正負(fù)數(shù)):^-?[1-9]d*$

6、匹配負(fù)整數(shù):^-[1-9]d*$  

字符串的正則

1、純英文字母的正則(不區(qū)分大小寫):^[A-Za-z]+$

2、純英文大寫字母的正則:^[A-Z]+$

3、純英文小寫字母的正則:^[a-z]+$

4、只有數(shù)字和26個(gè)英文字母的正則:^[A-Za-z0-9]+$

5、字符長(zhǎng)度為在m-n位之間的正則:^.{m,n}$

6、以字母開頭,長(zhǎng)度在6~18之間,只能包含字母、數(shù)字和下劃線:^[a-zA-Z]\w{5,17}$

7、以字母開頭,長(zhǎng)度在6~18之間,只能包含字母、數(shù)字不包含下劃線:^[a-zA-Z][a-zA-Z0-9]{4,15}$

8、必須且只能包含數(shù)字和字母的正則:^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$

以這個(gè)為例稍微說一下

^ 表示一行的開始位置
(?![0-9]+$) 表示不全是數(shù)字
(?![a-zA-Z]+$) 表示不全是字母
[0-9A-Za-z] {6,10} 表示由6-10位數(shù)字或這字母組成
$ 匹配行結(jié)尾位置

這個(gè)三個(gè)條件決定了這個(gè)表達(dá)式 是必須包含數(shù)字和字母 其只能包含數(shù)字和字母 并且字符長(zhǎng)度位數(shù)是在6-10位之間。

9、身份證號(hào)(只驗(yàn)證了15位或18位數(shù)字)正則:^d{15}|d{18}$


稍微講解一下規(guī)則(可以跟上面的實(shí)例相互驗(yàn)證,加強(qiáng)理解)

\w:表示的是數(shù)字、字母及下劃線。

\d:表示的只是數(shù)字。

^:字符串的開始位置。如果是在[ ]里面的話則表示“非”的意思,就是排除掉[ ]里面包含的內(nèi)容

^n:表示必須以 n字符串 開頭。

$:字符串的結(jié)束位置。

?=n:表示后面緊接著跟著字符串 n 。

?!n:表示其后不是緊接跟著字符串 n 。


今天先寫這些明天還會(huì)繼續(xù)補(bǔ)充一下其他的,