導航:首頁 > 編程語言 > php正則規則

php正則規則

發布時間:2022-05-18 04:37:47

php正則表達式

'/^\s*{(\w+)}\s*=/' 代表「詞首位置起或有空白{1個或以上的字母串(該串編號1)}或有空白」
替換成,'$\\1=' 含義是"$編號1的串="

❷ php正則匹配規則

很簡單,代碼如下:
$regstr="/(?<==)[w/]+/";
$mystr="/index.php?r=l/d&id=2726041&u=524934";
$arr=array();
preg_match_all($regstr,$mystr,$arr);
print_r($arr);

❸ php 正則處理中 經常遇到: 這樣的規則.求解釋

//是分界符
i : 表示在和模式進行匹配進不區分大小寫u
s : 如果沒有使用這個模式修正符號時, 元字元中的"."默認不能表示換行符號,將字元串視為單行
U :就是比較」貪婪「 .* .+ 所有字元都符合這個條件

正則表達式的模式:1. 定界符號 2. 原子 3. 元字元 4. 模式修正符號

我說,你也太摳門了把,連分也沒。 正則表達式內容多了。具體怎麼使用哪是在這能說明白的。

❹ 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 使用正則表達式是否具有優勢和缺點

優點:
正則表達式可以處理比較復雜的文本數據處理如匹配、替換、分割,比著php中的原生字元串函數功能更強,比如處理url,處理文本,驗證規則
缺點:
有強大的功能,但是處理速度比著原生字元串函數要慢

原則上能用原生的函數不用php中正則表達式

❻ php 正則表達式匹配 斜杠問題

這頭尾兩個斜杠/是正則表達式的限定符,這是Perl正則的標准,而PHP支持的正則表達式就是Perl正則的規范。表示兩個斜杠之間就是正則內容,在結尾斜杠後面可以開啟匹配的模式,例如:/^[\w\x80-\xff]{3,15}$/i ,後面的 i 就是忽略大小寫匹配。

❼ php 正則表達式 問題

書上印刷無錯誤
<?php echo ereg("a?","a");?> //true
<?php echo ereg("a?","bb");?> //true
<?php echo ereg("a?","aa");?>// true
你的 「?」的含義理解也沒有錯
另外輸出 true 就是 1 false 是空
ereg("a?") 包不包含a都是true 是根本不會出現false的機會
1:"bb" 匹配包含1個或者0個中的 0個a 所以是true
2:"a" 匹配包含1個或者0個中的 1個a 所以也是true
3:"aa" 同樣也是匹配包含一個a 因為正則在匹配到 "aa" 中第一個a的時候 就已經返回true了 根本就不在進行匹配下去
只能說這個正則很失敗
怎麼寫都是true

❽ php中的正則表達式為什麼會和Perl、POSIX扯上關系

一直以來,Perl被視為正則表達式的標准,它提供一種全面的正則表達式語言。php就按這個Perl正則標准來制定的。
在PHP手冊里Perl
兼容正則表達式函數的第一句就是這樣說的:「本類函數中所使用的模式極其類似
Perl。」
注意是「極其類似」。
Perl和POSIX很多都是相同的,因為Perl是由POSIX派生來的。
所以PHP都可以使用兩套正則表達式規則,一是POSIX
1003.2定義的正則;二是PCRE庫提供PERL兼容正則。

❾ 詳解PHP正則表達式:什麼是正則表達式

正則表達式,又稱規則表達式,英文名為Regular Expression,在代碼中常簡寫為regex、regexp或RE,是計算機科學的一個概念。正則表通常被用來檢索、替換那些符合某個模式(規則)的文本。
正則表達式是對字元串(包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為「元字元」))操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個「規則字元串」,這個「規則字元串」用來表達對字元串的一種過濾邏輯。正則表達式是一種文本模式,模式描述在搜索文本時要匹配的一個或多個字元串。

❿ php正則表達式是什麼

是指一個用來描述或者匹配一系列符合某個句法規則的字元串的單個字元串。

正則表達式是對字元串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個「規則字元串」,這個「規則字元串」用來表達對字元串的一種過濾邏輯。

給定一個正則表達式和另一個字元串,我們可以達到如下的目的:

1. 給定的字元串是否符合正則表達式的過濾邏輯(稱作「匹配」);

2. 可以通過正則表達式,從字元串中獲取我們想要的特定部分。

正則表達式的特點是:

1. 靈活性、邏輯性和功能性非常的強;

2. 可以迅速地用極簡單的方式達到字元串的復雜控制。

3. 對於剛接觸的人來說,比較晦澀難懂。

由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。

閱讀全文

與php正則規則相關的資料

熱點內容
app會員卡怎麼做 瀏覽:921
我愛你python編碼 瀏覽:365
一台計算機作為伺服器一般可以運行什麼軟體 瀏覽:421
應用加密桌面還顯示頭像咋辦 瀏覽:523
微軟硬碟加密密鑰 瀏覽:156
空調壓縮機和風扇 瀏覽:511
代碼可以編譯運行 瀏覽:918
銀行卡加密碼大全真號 瀏覽:447
單片機測esr 瀏覽:412
app怎麼設置消息功能 瀏覽:916
明詞pdf 瀏覽:427
雲域控伺服器有什麼用 瀏覽:577
位元組和B站程序員 瀏覽:747
app推薦書要怎麼做 瀏覽:303
unix網路編程第一卷 瀏覽:851
c需要pdf 瀏覽:865
超級解壓的美甲 瀏覽:72
安卓手機如何永久取消靜音 瀏覽:722
appstore免密碼支付怎麼關閉 瀏覽:30
域控制器如何備份到另一伺服器 瀏覽:306