php preg_match_all 的正則表達式的書寫方法
4 回答

神不在的星期二
TA貢獻1963條經驗 獲得超6個贊
$str="aa4313,fdsa212,4fdas";
preg_match_all('/(\d+?),([^,]+?),(\d)/i', $str, $regs);
print_r($regs);
(\d+?),([^,]+?),(\d) //數字1+,非逗號的任何字符1+,一個數字
全部匹配的是4313,fdsa212,4
$1 4313 對應第一個括號
$2 fdsa212 對應第二個括號
$3 4 對應第三個括號
已經打出來了,看一下就明白是怎么回事了,
難度在正則表達式的書寫!

BIG陽
TA貢獻1859條經驗 獲得超6個贊
/u 表示按unicode(utf-8)匹配(主要針對多字節比如漢字)
/i 表示不區分大小寫(如果表達式里面有 a, 那么 A 也是匹配對象)
/s 表示將字符串視為單行來匹配

呼喚遠方
TA貢獻1856條經驗 獲得超11個贊
$str="一二三四五ABN420122(電話:123455)";
$reg= '/.*\(.*:(.*)\)/';//冒號和$str保持一致
$reg= '/.*\(.*(\d{6,})\)/';
$reg= '/.*\(.*[^\d](\d+)\)/';
preg_match_all($reg,$str,$want);
print_r($want[1]);
3種正則 都可以
- 4 回答
- 0 關注
- 835 瀏覽
添加回答
舉報
0/150
提交
取消