当前位置: 首页> 函数类别大全> 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>

亲自试一试

同类函数