php匹配正則
㈠ php 正則表達式 匹配1到32 如何匹配 這樣可不可以[1-32]
正則是按位解析匹配的,所以[1-32]是不行的。
解析:
1、1-32,包含1位數(1-9)和2位數(10-32)
2、10-32必須切割,10-19和20-29形式一樣,得到[12][0-9],30-32有3[012]
3、因此得到[1-9]|[12][0-9]|3[012]
4、考慮全匹配,因此得到/^(?:[1-9]|[12][0-9]|3[012])$/,
?:表示不捕獲匹配,意思就是不保存括弧數據
最終:
$pattern='/^(?:[1-9]|[12][0-9]|3[012])$/';//這個就是1-32的正則啦
㈡ php中如何用正則表達式匹配中文字元呢
php中匹配一個或多個中文字元(包含簡體和繁體中文字元)的正則表達式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正則表達式的16進制是以
\x
開頭的。
㈢ PHP正則匹配問題preg_match("/([a-zA-Z]+)/","tech/web",$dirinfo);
使用括弧會對匹配結果進行分組。在匹配結果中,鍵為0的表示整個正則匹配的內容,之後的是對應的括弧中匹配的東西。
另外,你這里使用的是preg_match,所以只會匹配一個結果,如果想匹配所有的話,就使用preg_match_all
為了應正上面的描述,你可以運行以下代碼試試:
$dirinfo = array();
preg_match_all("/([a-zA-Z]+)\d+/","tech01/web",$dirinfo);
print_r($dirinfo);
㈣ php 正則表達式 url匹配
1,preg_grep(pattern,array);它的返回值是一個新數組,新數組的元素是成功匹配的元素。
㈤ php正則匹配數字
式子:/^[a-zA-Z0-9]+$/u
釋義:
"/":表示正則表達式的定義,固定寫法。
"^":表示開頭。
"[]":表示字元組。匹配所包含的任意一個字元。如,「[ab]」匹配「plain」中的「a」。
"a-z":表示匹配小寫字母a-z的字母範圍。
"A-Z":表示匹配大寫字母A-Z的字母範圍。
"0-9":表示匹配0-9的數字范圍。
"+":表示匹配次數大於等於1。
"$":匹配輸入行尾。如果設置了RegExp對象Multiline屬性,$也匹配「 」或「 」之前的位置。
"u":最後的u是模式修飾符,嚴格的說可能叫預定義常量。表示使用unicode進行匹配。
(5)php匹配正則擴展閱讀:
正則表達式的特點是:
1. 靈活性、邏輯性和功能性非常強;
2. 可以迅速地用極簡單的方式達到字元串的復雜控制。
3. 對於剛接觸的人來說,比較晦澀難懂。
由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。
㈥ php 正則表達式 匹配網站內容
<div class="nav" monkey="nav">和<div class="head-ad">之間的所有源碼,用 preg_match 就可以,不用preg_match_all ,如果你要裡面的所有的 <li></li>標簽中的內容,可以用preg_match_all
//提取所有代碼
$pattern = '/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is';
preg_match($pattern, $string, $match);
//$match[0] 即為<div class="nav" monkey="nav">和<div class="head-ad">之間的所有源碼
echo $match[0];
//然後再提取<li></li>之間的內容
$pattern = '/<li.*?>(.+?)</li>/is';
preg_match_all($pattern, $match[0], $results);
$new_arr=array_unique($results[0]);
foreach($new_arr as $kkk){
echo $kkk;
}