匹配合法email的正則式
其實(shí),正則表達(dá)式(RegularExpression)是一個(gè)正則表達(dá)式就是由普通字符(例如字符 a 到 z)以及特殊字符(稱(chēng)為元字符)組成的文字模式.該模式描述在查找文字主體時(shí)待匹配的一個(gè)或多個(gè)字符串.正則表達(dá)式作為一個(gè)模板,將某個(gè)字符模式與所搜索的字符串進(jìn)行匹配.
使用正則表達(dá)式,就可以:
1. 測(cè)試字符串的某個(gè)模式.例如,可以對(duì)一個(gè)輸入字符串進(jìn)行測(cè)試,看在該字符串是否存在一個(gè)電話號(hào)碼模式或一個(gè)信用卡號(hào)碼模式.這稱(chēng)為數(shù)據(jù)有效性驗(yàn)證.
2. 替換文本.可以在文檔中使用一個(gè)正則表達(dá)式來(lái)標(biāo)識(shí)特定文字,然后可以全部將其刪除,或者替換為別的文字.
3. 根據(jù)模式匹配從字符串中提取一個(gè)子字符串.可以用來(lái)在文本或輸入字段中查找特定文字.
例如,如果需要搜索整個(gè) web 站點(diǎn)來(lái)刪除某些過(guò)時(shí)的材料并替換某些HTML 格式化標(biāo)記,則可以使用正則表達(dá)式對(duì)每個(gè)文件進(jìn)行測(cè)試,看在該文件中是否存在所要查找的材料或 HTML 格式化標(biāo)記.用這個(gè)方法,就可以將受影響的文件范圍縮小到包含要?jiǎng)h除或更改的材料的那些文件.然后可以使用正則表達(dá)式來(lái)刪除過(guò)時(shí)的材料,最后,可以再次使用正則表達(dá)式來(lái)查找并替換那些需要替換的標(biāo)記.
另一個(gè)說(shuō)明正則表達(dá)式非常有用的示例是一種其字符串處理能力還不為人所知的語(yǔ)言.VBScript 是 Visual Basic 的一個(gè)子集,具有豐富的字符串處理功能.與 C 類(lèi)似的 Visual Basic Scripting Edition 則沒(méi)有這一能力.正則表達(dá)式給 Visual Basic Scripting Edition 的字符串處理能力帶來(lái)了明顯改善.不過(guò),可能還是在 VBScript 中使用正則表達(dá)式的效率更高,它允許在單個(gè)表達(dá)式中執(zhí)行多個(gè)字符串操作.
正是由于“正則表達(dá)式”的強(qiáng)大功能,才使得微軟慢慢將正則表達(dá)式對(duì)象移植到了視窗系統(tǒng)上面.在書(shū)寫(xiě)正則表達(dá)式的模式時(shí)使用了特殊的字符和序列.下表描述了可以使用的字符和序列,并給出了實(shí)例.
字符描述: \:將下一個(gè)字符標(biāo)記為特殊字符或字面值.例如 "n "與字符 "n "匹配. "\n "與換行符匹配.序列 "\\ "與 "\ "匹配, "\( "與 "( "匹配.
^ :匹配輸入的開(kāi)始位置.
$ :匹配輸入的結(jié)尾.
* :匹配前一個(gè)字符零次或幾次.例如, "zo* "可以匹配 "z "、 "zoo ".
+ :匹配前一個(gè)字符一次或多次.例如, "zo+ "可以匹配 "zoo ",但不匹配 "z ".
? :匹配前一個(gè)字符零次或一次.例如, "a?ve? "可以匹配 "never "中的 "ve ".
.:匹配換行符以外的任何字符.
(pattern) 與模式匹配并記住匹配.匹配的子字符串可以從作為結(jié)果的 Matches 集合中使用 Item [0]...[n]取得.如果要匹配括號(hào)字符(和 ),可使用 "\( " 或 "\) ".
x|y:匹配 x 或 y.例如 "z|food " 可匹配 "z " 或 "food ". "(z|f)ood " 匹配 "zoo " 或 "food ".
{n}:n 為非負(fù)的整數(shù).匹配恰好n次.例如, "o{2} " 不能與 "Bob 中的 "o " 匹配,但是可以與 "foooood "中的前兩個(gè)o匹配.
{n,} :n 為非負(fù)的整數(shù).匹配至少n次.例如, "o{2,} "不匹配 "Bob "中的 "o ",但是匹配 "foooood "中所有的o. "o{1,} "等價(jià)于 "o+ ". "o{0,} "等價(jià)于 "o* ".
{n,m} :m 和 n 為非負(fù)的整數(shù).匹配至少 n 次,至多 m 次.例如, "o{1,3} " 匹配 "fooooood "中前三個(gè)o. "o{0,1} "等價(jià)于 "o? ".
[xyz] :一個(gè)字符集.與括號(hào)中字符的其中之一匹配.例如, "[abc] " 匹配 "plain "中的 "a ".
[^xyz] :一個(gè)否定的字符集.匹配不在此括號(hào)中的任何字符.例如, "[^abc] " 可以匹配 "plain "中的 "p ".
[a-z] :表示某個(gè)范圍內(nèi)的字符.與指定區(qū)間內(nèi)的任何字符匹配.例如, "[a-z] "匹配 "a "與 "z "之間的任何一個(gè)小寫(xiě)字母字符.
[^m-z] :否定的字符區(qū)間.與不在指定區(qū)間內(nèi)的字符匹配.例如, "[m-z] "與不在 "m "到 "z "之間的任何字符匹配.
\b :與單詞的邊界匹配,即單詞與空格之間的位置.例如, "er\b " 與 "never "中的 "er "匹配,但是不匹配 "verb "中的 "er ".
\B :與非單詞邊界匹配. "ea*r\B "與 "never early "中的 "ear "匹配.
\d :與一個(gè)數(shù)字字符匹配.等價(jià)于[0-9].
\D :與非數(shù)字的字符匹配.等價(jià)于[^0-9].
\f :與分頁(yè)符匹配.
\n :與換行符字符匹配.
\r :與回車(chē)字符匹配.
\s :與任何白字符匹配,包括空格、制表符、分頁(yè)符等.等價(jià)于 "[ \f\n\r\t\v] ".
\S :與任何非空白的字符匹配.等價(jià)于 "[^ \f\n\r\t\v] ".
\t :與制表符匹配.
\v :與垂直制表符匹配.
\w :與任何單詞字符匹配,包括下劃線.等價(jià)于 "[A-Za-z0-9_] ".
\W :與任何非單詞字符匹配.等價(jià)于 "[^A-Za-z0-9_] ".
\num :匹配 num個(gè),其中 num 為一個(gè)正整數(shù).引用回到記住的匹配.例如, "(.)\1 "匹配兩個(gè)連續(xù)的相同的字符.
\n:匹配 n,其中n 是一個(gè)八進(jìn)制換碼值.八進(jìn)制換碼值必須是 1, 2 或 3 個(gè)數(shù)字長(zhǎng).
例如, "\11 " 和 "\011 " 都與一個(gè)制表符匹配. "\0011 "等價(jià)于 "\001 " 與 "1 ".八進(jìn)制換碼值不得超過(guò) 256.否則,只有前兩個(gè)字符被視為表達(dá)式的一部分.允許在正則表達(dá)式中使用ASCII碼.
\xn:匹配n,其中n是一個(gè)十六進(jìn)制的換碼值.十六進(jìn)制換碼值必須恰好為兩個(gè)數(shù)字長(zhǎng).例如, "\x41 "匹配 "A ". "\x041 "等價(jià)于 "\x04 " 和 "1 ".允許在正則表達(dá)式中使用 ASCII 碼.
/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/是什么意思?謝謝
/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/是什么意思?謝謝
其他人氣:236 ℃時(shí)間:2020-03-24 09:08:57
優(yōu)質(zhì)解答
我來(lái)回答
類(lèi)似推薦
- /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/ 誰(shuí)能幫我具體解釋下這個(gè)正則表達(dá)式的含義呢
- 正則表達(dá)式匹配 ^([a-zA-Z0-9_]+)\\(([a-zA-Z0-9_.()]+)\\)$ 求牛人給解釋一下這個(gè)是匹配什么的
- 幫忙解釋一下這個(gè)正則表達(dá)式吧 ^[\@A-Za-z0-9\!\#\$\%\^\&\*\.\~]+$
- 正則表達(dá)式里面有這么一句:var re = /^[a-zA-Z0-9&\-\'\/ ]*$/; a,B,&,-,',/都行?
- 軍蟻是不是最厲害的螞蟻
- It's quite n_____ for a person to refuse the offer of help from strangers.
- 在金屬中最善于傳熱的是---?
- 1、2、5、13、34、()括號(hào)里是多少找規(guī)律,🈶什么規(guī)律
- 水受到地球引力的作用,從高處到低處,這一現(xiàn)象中 ,受力物體是什么?施力物體是什么?
- 追加100分,數(shù)學(xué)
- 亞硝酸鈉溶于水的反應(yīng)化學(xué)方程式?
- 請(qǐng)問(wèn)去動(dòng)物園怎么走的英文翻譯是什么
猜你喜歡
- 1Is this chair made ( ) wood?
- 2雞兔同籠,兔的只數(shù)是雞的3倍,共有腳280只.雞、兔各有多少只?
- 3提示的近義詞是什么
- 4為什么“泰山”是“TaiShan Mountain”而黃山卻是“Huang Mountain”呢?
- 5"愛(ài)蓮說(shuō)“是誰(shuí)寫(xiě)的?
- 6有一根長(zhǎng)方體木料體積是540立方分米,它的截面面積是20平方分米,這根木料的長(zhǎng)應(yīng)是_米.
- 7如圖,小亮從A點(diǎn)出發(fā)前進(jìn)10m,向右轉(zhuǎn)15°,再前進(jìn)10m,又向右轉(zhuǎn)15°,這樣一直走下去,他第一次回到出發(fā)點(diǎn)A時(shí),一共走了米數(shù)是( ) A.120 B.150 C.240 D.360
- 8電功率的公式:P=W/t=IUt/t=IU讀作?
- 9“自相矛盾”這個(gè)成語(yǔ)告誡人們什么道理?
- 10已知某件事每隔兩分鐘可能會(huì)發(fā)生一次,發(fā)生概率為15%,
- 11(2009?承德縣模擬)(甲、乙均不為0)甲數(shù)的14等于乙數(shù)的16,甲數(shù)的15和乙數(shù)的17比較,( ?。?A.甲數(shù)的15大 B.乙數(shù)的17大 C.可能是甲數(shù)的15大,也可能是乙數(shù)的17大 D.一樣大
- 12一道關(guān)于人數(shù)的數(shù)學(xué)題