1樓:匿名使用者
上面那個是乙個很好的驗證郵箱位址的正規表示式!你可以按照下面「斷句」的思想來理解!
/(^1. (?!(\.|-|_))
2. (?![a-za-z0-9\.\-_]*(\.|-|_)@)
3. [a-za-z0-9\.\-_]+@
4. (?!.\.)
5. (?![\-_])
6. (?![a-za-z0-9\-_]*[\-_]\.)
7. [a-za-z0-9\-_]+
8. (\.\w+)+
$)/首先你必須知道正規表示式中的斷言(?!exp)這個結構的意思是「匹配後面跟的不是exp的位置」,所以
其中1的作用為:郵箱位址不能以.-_這三個字元中的任意乙個作為郵箱位址的開始部分
其中2的作用為:郵箱位址中不能包括無效的@符號,如:xudianyang@xu@126.
com中@xu就視為無效的部分,驗證郵箱位址時xudianyang@[email protected]不合法
其中3的作用為:匹配合法的@部分前面內容,如:[email protected]中的xudianyang@部分
其中4的作用為:郵箱位址中如:[email protected]中的126部分內容長度不能超過64並且不能包含有.點號這個字元
其中5的作用為:郵箱位址中如:[email protected]中的126部分內容不能以-_兩個字元
中的任意乙個開始
其中6的作用為:郵箱位址中如:[email protected]中的126部分不能為126_.或者126-.
其中7的作用為:匹配郵箱位址如:[email protected]中的126部分
其中8的作用為:匹配郵箱位址如:xudianyang2126.com中的.com部分
整個正規表示式的作用就是用來匹配乙個合法的郵箱位址,如果對正規表示式的斷言結構理解清楚,上述的表示式還是容易理解的!
祝你成功!
2樓:
原文在**?@?
測試過能用嗎?可能有誤啊?!
3樓:匿名使用者
郵件位址,寫得太複雜了,分開好說,合一起就亂。
4樓:手機使用者
/後邊的是修正符
其中i是不區分大小寫
修正符很有用的
例子:<?php
//標記在整個模式之外;
例://$mode="/\bis\b/u",其中u在外面;
//修正符:i 不區分大小寫的匹配;
//如:"/abc/i"可以與abc或abc或abc等匹配;
//修正符:m 將字串視為多行,不管是那行都能匹配;
例://模式為:$mode="/abc/m";
//要匹配的字串為:$str="bcefg5e\nabcdfe"
//注意其中\n,換行了;abc換到了下一行;
//$str和$mode仍可以匹配,修正符m使得多行也可匹配;
//修正符:s 將字串視為單行,換行符作為普通字元;
例://模式為:$mode="/pr.y/";
//要匹配字串為:$str="pr\ny";
//兩者不可匹配; . 是除了換行以外的字元可匹配;
//修改下模式為:$mode="/pr.y/s";
//其中修正符s將\n視為普通字元,即不是換行;
//最後兩者可以匹配;
//修正符:x 將模式中的空白忽略;
//修正符:a 強制從目標字串開頭匹配;
例://$mode="/abc/a";
//可以與$str="abcsdfi"匹配,//不可以與$str2="sdsdabc"匹配;
//因為$str2不是以abc開頭;
//修正符:d 如果使用$限制結尾字元,則不允許結尾有換行;
例://模式為:$mode="/abc$/";
//可以與最後有換行的$str="adshabc\n"匹配;
//元子符$會忽略最後的換行\n;
//如果模式為:$mode="/abc/d",//則不能與$str="adshabc\n"匹配,//修正符d限制其不可有換行;必需以abc結尾;
//修正符:u 只匹配最近的乙個字串;不重複匹配;
例: 如模式為:
$mode="/a.*c/";
$str="abcabbbcabbbbbc" ;
preg_match($mode,$str,$content);
echo $content[0]; //輸出:abcabbbcabbbbbc;
//如果$mode="/a.*c/";變成$mode="/a.*c/u";
// 則只匹配最近乙個字串,輸出:abc;
//修正符:e 配合函式preg_replace()使用,可以把匹配來的字串當作正規表示式執行;
?>
關於正規表示式的問題,關於正規表示式的問題
你把正規表示式專用的符號後都加 來變成真的符號 比如你要匹配這個 document.write 其它符號如 等也是一樣 其實我也看不太明白你想幹嘛 正則我倒是學了幾個月了,也做了幾個小 覺得功能十分強大看了你的補充,那就很簡單了。document.代表 document.write 代表 docum...
正規表示式匹配大小寫問題,正規表示式不分大小寫匹配指定字串
v v ar b v i 後面加個i 不區分大小寫 正規表示式不分大小寫匹配指定字串 20 你可以在匹配模式中設定,比如是php的話 error warning i 這裡的 是正則的開始與結束,最後面的i表示匹配忽略大小寫 d d d 這個正規表示式能提取字串倒數第4位到第7位的數字值。例如 123...
正規表示式只能輸入字母數字漢字,正規表示式驗證允許輸入漢字字母數字的正則,有的發乙份昂。
a za z0 9 u4e00 u9fa5 其實 a za z0 9 可以用 w來代替,只是 w還可以匹配乙個下劃線,如果必須要求只有數字和字母那還是用 a za z0 9 這個好了 u4e00 u9fa5 匹配中文字元 1 9 d 匹配正整數 a za z 匹配由26個英文本母組成的字串 a z ...