ホームページ  >  記事  >  バックエンド開発  >  PHP と正規表現を使用したパターン マッチング

PHP と正規表現を使用したパターン マッチング

WBOY
WBOYオリジナル
2023-06-13 15:29:24657ブラウズ

現代のプログラミング言語では、パターン マッチングは非常に一般的な操作です。これは、特定のルールに一致する文字列の部分を検索するために使用されます。 PHP では、正規表現はパターン マッチングに非常に便利です。この記事では、PHP と正規表現を使用したパターン マッチングについて説明します。

まず、正規表現とは何かを理解する必要があります。正規表現は、パターン マッチングに使用される言語です。文字列の特定の部分を検索、置換、検証、抽出するために使用できます。正規表現は、いくつかの文字と特殊文字で構成されます。これらの文字は文字列と一致するために使用されます。

PHP では、preg_match() 関数を使用して正規表現のマッチングを実行できます。以下に例を示します。

$string = "This is a test string.";
$pattern = "/test/i";
preg_match($pattern, $string, $matches);
print_r($matches);

上の例では、$string は検索する文字列です。 $pattern は正規表現です。この例では、正規表現として「/test/i」を使用します。これは、文字列内で「test」を探していることを意味します。「i」は大文字と小文字を区別しないことを意味します。最後に、$matches は、すべての一致結果を含む配列です。この場合、次のように出力されます。

Array
(
    [0] => test
)

一致する文字列が見つからない場合、$matches 配列は空になります。

ここで、正規表現の最も基本的な文字を見てみましょう。

  • .: 任意の文字と一致します
  • ^: 文字列の先頭と一致します
  • $: 文字列の末尾と一致します
  • [] : 括弧内の任意の文字と一致します
  • [a-z]: a - z の間の任意の文字と一致します
  • 1: a - z を除く任意の文字と一致します
  • () の外側の文字: 括弧内の式と一致します。

以下は、郵便番号 (郵便番号) と一致する例です:

$string = "12345-6789";
$pattern = "/^[0-9]{5}(-[0-9]{4})?$/";
preg_match($pattern, $string, $matches);
print_r($matches);

In上の例では、いくつかの異なる文字を使用しました。

    ##^: 文字列
  • [0-9]{5} の先頭を表します: 5 つの数字
  • ## と一致します。 #(-[0-9]{4})?: オプションのハイフンと 4 桁の数字に一致します。
  • $: 文字列の終わりを示します
  • この正規表現は、次の形式の郵便番号:

12345
  • 12345-6789
  • これで十分な知識が得られたので、より複雑なコードを書き始めることができます。脚本。以下は、フォルダー内のすべての PHP ファイルを検索し、その中のすべての関数とメソッドをリストする例です。
$dir = "./";
$files = scandir($dir);

foreach ($files as $file) {
    if (preg_match("/.php$/", $file)) {
        $content = file_get_contents($file);
        preg_match_all("/(function|public function|private function|protected function|method|public method|private method|protected method) ([a-zA-Z0-9_]+)/", $content, $matches);
        echo "In $file:
";
        foreach ($matches[2] as $match) {
            echo "- $match()
";
        }
    }
}

上の例では、 preg_match_all() 関数を使用しました。この関数は preg_match() 関数に似ていますが、最初の一致だけではなくすべての一致を検索する点が異なります。また、すべての関数とメソッドを照合するために正規表現も使用しました。この例では、パブリック、プライベート、プロテクトされた関数とメソッドのみをリストします。

PHP と正規表現を使用してパターン マッチングを行う方法を説明しました。この手法は非常に強力で、単純な文字列の照合から複雑なデータの検証まで、さまざまな目的に使用できます。正規表現をまだ使用したことがない場合は、より効率的で柔軟なコードを作成するのに役立つため、時間をかけて正規表現を学習し、使用し始めることをお勧めします。


a-z

以上がPHP と正規表現を使用したパターン マッチングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。