ホームページ > バックエンド開発 > PHPチュートリアル > PHP の `preg_match_all()` 関数を使用して、文字列内のパターンの複数の出現を見つけるにはどうすればよいでしょうか?

PHP の `preg_match_all()` 関数を使用して、文字列内のパターンの複数の出現を見つけるにはどうすればよいでしょうか?

Linda Hamilton
リリース: 2024-12-04 14:17:12
オリジナル
239 人が閲覧しました

How Can PHP's `preg_match_all()` Function Be Used to Find Multiple Occurrences of a Pattern in a String?

PHP preg_match を使用した複数の出現の検索

php preg_match_all() は、ファイル内で特定の文字列またはパターンの複数の出現を検索するための非常に貴重な関数です。与えられたテキスト。この機能は、さまざまなテキスト処理アプリケーションで不可欠です。

構文と使用法

preg_match_all() を効果的に活用するには、その構文を理解することが重要です。

int preg_match_all(string $pattern, string $subject, array &$matches [, int $flags = PREG_PATTERN_ORDER])
ログイン後にコピー

本質的に、$pattern は検索パターンまたは正規表現を表し、$subject はターゲット文字列または検索されるテキスト、$matches は見つかった出現が保存される配列、$flags は一致プロセスのカスタマイズを可能にします。

複数出現検出

複数の出現を検出する際の使用法については、次の PHP コードを検討してください:

$string = "/brown fox jumped [0-9]/";
$paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence";

if (preg_match_all($string, $paragraph, $matches)) {
    echo count($matches[0]) . " matches found";
} else {
    echo "match NOT found";
}
ログイン後にコピー

このスニペットでは、 $paragraph 変数内で文字列 /brown fox Jumped [0-9]/ が複数出現するものを検索します。正規表現は、スペース、数字、右角括弧が続く「brown fox Jumped」というフレーズの出現をすべてキャプチャします。

段落内でこのパターンが少なくとも 1 回見つかった場合、if ブロックは実行すると、見つかった一致の数のカウンターが出力されます。逆に、一致するものが見つからない場合、else ブロックは何も発生していないことを示します。

この例では、出力は次のようになります。

2 matches found
ログイン後にコピー

以上がPHP の `preg_match_all()` 関数を使用して、文字列内のパターンの複数の出現を見つけるにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート