當前位置:首頁 » 編程語言 » php正則符號

php正則符號

發布時間: 2025-02-14 22:37:42

php正則表達,漢字大小寫字母數字下劃線以及@符號

郵箱的正則表達式為:/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/,其他的一樓已經回答得很完備了

㈡ PHP常用正則表達式匯總

1、w就是匹配字母或數字或下劃線或漢字,+則與*差不多,區別是+包括重復0次,而*就可以。=就ushi匹配=號兩個斜杠則表示正則表達式的分界。

2、正則表達式的限定符有:ThinkPHP的自動驗證機制是為了進行表單數據驗證,驗證可以支持function、callback、confirm、equal、unique和regex,這里要講的是使用正則表達式進行驗證。特殊字元許多元字元要求在試圖匹配它們時特別對待。

3、^/?[a-zA-Z0-9=:]*$!是對php中單引號的轉義。或者還有更簡單的!^/?[a-z0-9=:]*$!ii表示忽略大小寫。模式分隔符就是為了區分表達式和像i這樣的模式修飾符而設計的。

㈢ php 時間正則式的表示

最簡單的正則 如 : \d{4}-\d{2}-\d{2}
但是實際情況卻不是那麼簡單,,要考慮,有效性和閏年等問題.....

對於日期的有效范圍,不同的應用場景會有所不同。MSDN中定義的DateTime對象的有效范圍是:0001-01-01 00:00:00到9999-12-31 23:59:59。

UNIX時間戳的0按照ISO 8601規范為 :1970-01-01T00:00:00Z。

先考慮與年份無關的前三條規則,年份可統一寫作

(?!0000)[0-9]{4}

下面僅考慮月和日的正則

1. 包括平年在內的所有年份的月份都包含1-28日

(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])

2. 包括平年在內的所有年份除2月外都包含29和30日

(0[13-9]|1[0-2])-(29|30)

3. 包括平年在內的所有年份1、3、5、7、8、10、12月都包含31日

(0[13578]|1[02])-31)

合起來就是除閏年的2月29日外的其它所有日期

(?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)

接下來考慮閏年的實現

1 : 四年一閏
([0-9]{2}(0[48]|[2468][048]|[13579][26])

2 : 百年不閏,四百年再閏
(0[48]|[2468][048]|[13579][26])00

3 : 合起來就是所有閏年的2月29日
([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)

四條規則都已實現,且互相間沒有影響,合起來就是所有符合DateTime范圍的日期的正則

^((?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$

考慮到這個正則表達式僅僅是用作驗證,所以捕獲組沒有意義,只會佔用資源,影響匹配效率,所以可以使用非捕獲組來進行優化。

^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

㈣ php 正則表達式 只能包含字母和數字

式子:/^[a-zA-Z0-9]+$/u

釋義:

(1)「/」:正則表達式的定義,固定的書寫形式;

(2)「^」:表示開始;

(3)「[]」:表示一個字元組,匹配包含的任何字元。例如,「[ab]」匹配「plain」中的「a」;

(4)「a-z」:與小寫字母a-z匹配的字母範圍;

(5)「A-Z」:表示與大寫字母A-Z匹配的字母範圍;

(6)「0-9」:匹配范圍為0-9的數字;

(7)「+」:表示匹配數為一個或多個;

(8)「$」:匹配輸入行的結尾。如果設置了RegExp對象的Multiline屬性,則$也匹配「 」或「 」之前的位置;

(9)「u」:最後一個u是模式修飾符,嚴格來說,它可以是預定義的常數。表示使用unicode進行匹配。

(4)php正則符號擴展閱讀:

其它正則表達式符號的含義:

(1)「*」:與上一個子表達式匹配任意次。例如,zo*匹配「z」以及「zo」和「zoo」。*等效於{0,};

(2)「?」:匹配上一個子表達式零或一次。例如,「做(es)?」匹配「do」或「does」。?等效於{0,1};

(3)「{n}」:n是一個非負整數。匹配被確定n次。例如,「o{2}」不能與「Bob」中的「o」匹配,但是可以與「food」中的兩個o匹配;

(4)「{n,}」:n是一個非負整數。至少匹配n次。例如,「o{2,}」不能匹配「Bob」中的「o」,但是可以匹配「foooood」中的所有o。「o{1,}」等效於「o+」。「o{0,}」等效於「o*」;

(5)「 {n,m}」:m和n是非負整數,其中n <= m。 至少匹配n次,最多匹配m次。 例如,「 o {1,3}」將匹配「 fooooood」中的前三個o作為一個組,最後三個o作為一個組。 「 o {0,1}」等效於「 o?」。 請注意,逗號和兩個數字之間不能有空格。

熱點內容
在線翻譯源碼 發布:2025-03-25 11:26:03 瀏覽:692
黑獸3解壓密碼 發布:2025-03-25 11:05:10 瀏覽:459
思科中路由器環回介面怎麼配置 發布:2025-03-25 10:17:19 瀏覽:839
解壓出來 發布:2025-03-25 10:03:04 瀏覽:201
4線壓縮機 發布:2025-03-25 09:43:58 瀏覽:911
oppos39的文件夾 發布:2025-03-25 09:35:01 瀏覽:706
登錄游戲的密碼在微信的哪裡找 發布:2025-03-25 09:30:40 瀏覽:107
如何把照片壓縮到10k 發布:2025-03-25 09:25:43 瀏覽:170
最好的ftp軟體排名 發布:2025-03-25 09:25:08 瀏覽:461
生死狙擊二伺服器什麼時候開啟 發布:2025-03-25 09:15:04 瀏覽:526