有關正規表示式的問題

時間 2021-07-05 06:38:05

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.注意 這個元字元不是所有的軟體都支援的。而最簡單的元字元...