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()使用,可以把匹配來的字串當作正規表示式執行;
?>
lua正規表示式,LUA 正規表示式
lua中修飾符 和 都表示匹配前一字元0次或多次,但 進行的是最短匹配,類似傳統正則中的非貪婪匹配,而 則是最長匹配,即貪婪匹配 由於你正則中最後一個 d 後面沒有任何東西了,那這個 進行了最短匹配,即什麼都不匹配,所以沒有捕獲到1999,而加上 後,由於有了結尾標識位,就必須匹配1999才能使整個...
正規表示式ddsw0,正規表示式 d d s w 0 9 d d s w 這兩個的區別是什麼呢?
亂紅齋 一個匹配有符號數,另一個匹配有符號數或無符號數。正規表示式,又稱規則表示式,是電腦科學的一個概念,這個概念最初是由unix中的工具軟體普及開的。正則表通常被用來檢索 替換那些符合某個模式 規則 的文字。正則引擎主要分為dfa nfa兩大類。許多程式設計語言都支援利用正規表示式進行字串操作。在...
正規表示式或怎麼寫,正規表示式或者怎麼寫
麼破1自我 豎線 就是或的意思。意思是將兩個匹配條件進行邏輯 或 or 運算。例如正規表示式 him her 匹配 it belongs to him 和 it belongs to her 但是不能匹配 it belongs to them.注意 這個元字元不是所有的軟體都支援的。而最簡單的元字元...