当前位置: 首页> 函数类别大全> preg_match_all

preg_match_all

执行全局正则表达式匹配
名称:preg_match_all
分类:正则处理PCRE
所属语言:php
一句话介绍:在字符串中查找模式的所有匹配项。

实例

例子 1

查找字符串中所有 "ain" 的出现:

<span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"The rain in SPAIN falls mainly on the plains."</span><span class="token punctuation">;</span>
<span class="token variable">$pattern</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/ain/i"</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span><span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token variable">$pattern</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">,</span> <span class="token variable">$matches</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  <span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$matches</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token delimiter important">?></span></span>

亲自试一试

例子 2

使用 PREG_PATTERN_ORDER 设置 matches 数组的结构。在此例中,matches 数组中的每个元素都有正则表达式分组之一的所有匹配项。

<span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"abc ABC"</span><span class="token punctuation">;</span>
<span class="token variable">$pattern</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"/((a)b)(c)/i"</span><span class="token punctuation">;</span>
<span class="token keyword">if</span><span class="token punctuation">(</span><span class="token function">preg_match_all</span><span class="token punctuation">(</span><span class="token variable">$pattern</span><span class="token punctuation">,</span> <span class="token variable">$str</span><span class="token punctuation">,</span> <span class="token variable">$matches</span><span class="token punctuation">,</span> <span class="token constant">PREG_PATTERN_ORDER</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  <span class="token function">print_r</span><span class="token punctuation">(</span><span class="token variable">$matches</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token delimiter important">?></span></span>

亲自试一试

同类函数
  • 执行全局正则表达式匹配 preg_match_all

    preg_match_all

    执行全局正则表达式匹配
  • 执行一个正则表达式的搜索和替换 preg_replace

    preg_replace

    执行一个正则表达式的搜索和替换
  • 返回最后一个PCRE正则执行产生的错误代码 preg_last_error

    preg_last_error

    返回最后一个PCRE正则执行产生的错误代
  • 执行正则表达式搜索并使用回调替换 preg_replace_callback_array

    preg_replace_callback_array

    执行正则表达式搜索并使用回调替换
  • 返回上一次PCRE正则表达式执行的错误消息 preg_last_error_msg

    preg_last_error_msg

    返回上一次PCRE正则表达式执行的错误消
  • 执行正则表达式匹配 preg_match

    preg_match

    执行正则表达式匹配
  • 执行一个正则表达式搜索并且使用一个回调进行替换 preg_replace_callback

    preg_replace_callback

    执行一个正则表达式搜索并且使用一个回调进
  • 通过一个正则表达式分隔字符串 preg_split

    preg_split

    通过一个正则表达式分隔字符串