ホームページ  >  記事  >  バックエンド開発  >  preg_match_all関連情報のご紹介_PHPチュートリアル

preg_match_all関連情報のご紹介_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:39:31927ブラウズ

 preg_match_all 进行全局正则表达式匹配,这篇文章主要介绍下preg_match_all的相关资料,需要的朋友可以参考下

preg_match_all — 进行全局正则表达式匹配   说明    代码如下: int preg_match_all ( string pattern, string subject, array matches [, int flags] )     在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中。 搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。   特别注意PREG_PATTERN_ORDER 和PREG_SET_ORDER   flags 可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起来用没有意义):   如果使用PREG_PATTERN_ORDER   对结果排序使 $matches[0] 为全部模式匹配的数组,$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推。(即$matches[0] [0]为全部模式匹配中的每一项,$matches[0] [1]为全部模式匹配中的第二项,$matches[1] [0]为匹配每一个括号中的第一项,$matches[1] [0]为匹配每一个括号中的第二项)   代码如下: ]+>(.*)]+>|U","example:
this is a test
",$out, PREG_PATTERN_ORDER);   print $out[0][0].", ".$out[0][1]."\n";  print $out[1][0].", ".$out[1][1]."\n";  ?>      本例将输出:  代码如下: example: ,
this is a test
  example: , this is a test     因此,$out[0] 包含匹配整个模式的字符串,$out[1] 包含一对 HTML 标记之间的字符串。 如果使用PREG_SET_ORDER   对结果排序使 $matches[0] 为第一组匹配项的数组,$matches[1] 为第二组匹配项的数组,以此类推。(即$matches[0] [0]为第一组匹配项中完整匹配的字符串,$matches[0] [1]为第一组匹配中完整匹配第一个括号中的字符串)    代码如下: ]+>(.*)]+>|U","example:
this is a test
",$out, PREG_SET_ORDER); print $out[0][0].", ".$out[0][1]."\n";  print $out[1][0].", ".$out[1][1]."\n";  ?>     本例将输出: 代码如下: example: , example: 
this is a test
、 これはテストです ​ ​ この例では、$matches[0] は一致結果の最初のセットで、$matches[0][0] にはパターン全体に一致するテキストが含まれ、$matches[0][1] には最初のサブパターンに一致するテキストが含まれます。 、などで終わります。同様に、$matches[1] は 2 番目の一致セットであり、以下同様です。 ​ PREG_OFFSET_CAPTURE ​ このフラグが設定されている場合、一致が発生するたびに、関連付けられた文字列オフセットも返されます。これにより、返された配列の値が変更され、その中の各セルも配列になることに注意してください。最初の項目は一致した文字列で、2 番目の項目はサブジェクト内のそのオフセットです。このタグは PHP 4.3.0 以降で使用できます。 タグが指定されていない場合は、PREG_PATTERN_ORDER が想定されます。 パターン全体が一致した回数 (おそらくゼロ)、またはエラーの場合は FALSE を返します。 ​ 例 1. テキストメッセージからすべての電話番号を取得する ​ コードは以下のように表示されます。 ​ ​ 例 2. 一致する HTML タグを検索する (貪欲) コードは以下のように表示されます。 太字クリックしてください"; preg_match_all ("/(<([w]+)[^>]*>)(.*)()/", $html, $matches); for ($i=0; $i ​ ​ この例では次のように出力されます。 ​ コードは以下のように表示されます。 一致しました: 太字のテキスト パート 1: パート 2: 太字のテキスト パート 3: 一致しました: クリックしてください パート 1: パート 2: クリックしてください パート 3:

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/730223.html技術記事 preg_match_all は、グローバル正規表現マッチングを実行します。この記事では、preg_match_all の関連情報を主に紹介します。必要な方は、グローバル正規表現マッチングについての preg_match_all を参照してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。