有關正規表示式的問題

2021-07-05 06:38:19 字數 2403 閱讀 7302

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 ...