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 关注
- 763 浏览
添加回答
举报
0/150
提交
取消