PHP的preg_match_all正则字符多次出现第一次出代码

  1. $str[1]="i我是一只小小qq:42343243 444234324";
  2. $str[2]="我是一只小小qq联系人42343244234 fasdfdsfas";
  3. $str[3]="我是一只小小qq42343244234 fasdfdsfas";
  4. $preg="#(d*)(d{5,14})#";
  5. for($i=1;$i<4;$i++){
  6. preg_match($preg,$str[$i],$arr);
  7. echo "<pre>";
  8. print_r($arr);
  9. echo "<pre>";
  10. }

最简单的方法如下:

  1. preg_match_all('/(qq)+.*?(d{4,16})/i', $c, $strresult);
  2. int preg_match_all ( string pattern, string subject, array matches [, int flags])

在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中.

搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始.

flags 可以是下列标记的组合,注意把 preg_pattern_order 和 preg_set_order 合起来用没有意义.