柚子快報邀請碼778899分享:正則表達式
柚子快報邀請碼778899分享:正則表達式
正則表達式通常用于匹配字符是否滿足某一標準
比如我這邊一個輸入框,你要如何形容只能有數(shù)字?只能是大寫拼音?
這就有了正則表達式
1.[]
[abc]:這個字符可以是a或b或c [a-z] :表示任意一個小寫字母 [a-zA-Z] :表示任意一個字母 [a-zA-Z0-9_] :表示任意一個數(shù)字字母下劃線 [^abc] :該字符只要不是a或b或c
2.預定義字符
.?:表示任意一個字符,沒有范圍限制 \d :表示任意一個數(shù)字,等同于[0-9] \w :表示任意一個單詞字符,等同于[a-zA-Z0-9_]–單詞指字母/數(shù)字/_ \s :表示任意一個空白字符 \D :表示不是數(shù)字 \W :不是單詞字符 \S :不是空白字符
3.量詞
?:表示前面的內容出現(xiàn)0-1次 例如: [abc]? 可以匹配:a 或 b 或 c 或什么也不寫 +:表示前面的內容最少出現(xiàn)1次 例如: [abc]+ 可以匹配:b或aaaaaaaaaa…或abcabcbabcbabcba… 但是不能匹配:什么都不寫 或 abcfdfsbbaqbb34bbwer… *:表示前面的內容出現(xiàn)任意次(0-多次)—匹配內容與+一致,只是可以一次都不寫 例如: [abc]* 可以匹配:b或aaaaaaaaaa…或abcabcba…或什么都不寫 但是不能匹配:abcfdfsbbaqbb34bbwer… {n}:表示前面的內容出現(xiàn)n次 例如: [abc]{3} 可以匹配:aaa 或 bbb 或 aab 或abc 或bbc 但是不能匹配: aaaa 或 aad {n,m}:表示前面的內容出現(xiàn)最少n次最多m次 例如: [abc]{3,5} 可以匹配:aaa 或 abcab 或者 abcc 但是不能匹配:aaaaaa 或 aabbd {n,}:表示前面的內容出現(xiàn)n次以上(含n次) 例如: [abc]{3,} 可以匹配:aaa 或 aaaaa… 或 abcbabbcbabcba… 但是不能匹配:aa 或 abbdaw…
4.用于分組(),括號內的為一個整體
(abc){3} 表示abc整體出現(xiàn)3次. 可以匹配abcabcabc 但是不能匹配aaa 或abcabc
(abc|def){3} 表示abc或def整體出現(xiàn)3次. 可以匹配: abcabcabc 或 defdefdef 或 abcdefabc 但是不能匹配abcdef 或abcdfbdef
5.^符
當^在[]中表示集合的取反,比如[^abc]表示不含a、b、c的
當在外邊的時候表示開始,比如^abc表示以abc為開頭的字符,比如abc123
[^0-9]表示不為數(shù)字
6.特別情況
1.個別字符如. * +你要固定使用,比如在郵箱.com中,使用.需要轉義為\.
2.$和^相反,匹配的是字符的結尾
3.斷言:
(?=.*[a-z]):斷言接下來的字符中至少有一個小寫字母。(?=.*[A-Z]):斷言接下來的字符中至少有一個大寫字母。(?=.*\d):斷言接下來的字符中至少有一個數(shù)字。(?=.*[\W_]):斷言接下來的字符中至少有一個特殊字符(非字母、數(shù)字或下劃線,\W 匹配非單詞字符,包括特殊字符)。
4.\b和\B匹配單詞邊界和非單詞邊界,比如
\bis\b 只匹配單詞 "is",而不會匹配 "This" 中的 "is"。\Bis\B 會匹配 "This" 中的 "is",因為 "is" 前后的字符("h" 和空格)都是非單詞字符。
實力測試,看看學完上面的后下面給你的問題你能不能接住~
1.只能是數(shù)字
2.只能是大小寫字母并且是6-10位
3.必須有大小寫字母和數(shù)字且含有特殊字符,在8-12位
4.必須以1-5個小寫字母開頭,以@符號結尾,總長度不大于16個字符
答案在下面~~
——————————————————————————————----
————————————————————————————————————-
——————————————————————————————————————————
答案僅參考,不唯一
^\d+$
^[a-zA-Z]{6,10}$
(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_])[a-zA-Z\d\W_]{8,12}$
^[a-z]{1,5}.*@.{0,9}$ ?
參考博文:正則表達式(常用版)-CSDN博客
柚子快報邀請碼778899分享:正則表達式
好文推薦
本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。