PHPでは、パターンマッチングに正規式を使用する場合、通常、preg_match_all ()関数が使用されます。これらの関数は、マッチング結果を$ matches変数に保存します。 $ Matches変数の内容を見ると、正規表現が入力文字列にどのように一致するかを理解できます。
この記事では、通常の一致の特定の構造と内容を確認するために$ MATCES変数を出力する方法を示します。また、print_r()またはvar_dump()関数を効果的に使用して、 $マッチアレイを確認する方法についても説明します。
PHPでは、一般的に使用される通常のマッチング関数は次のとおりです。
preg_match() :通常の試合を実行するために使用されます。
preg_match_all() :複数の通常の試合を実行するために使用されます。
これら2つの関数の構文は次のとおりです。
preg_match($pattern, $subject, $matches, $flags = 0, $offset = 0);
preg_match_all($pattern, $subject, $matches, $flags = 0, $offset = 0);
$パターンは正規表現であり、 $件名は一致する文字列であり、 $ matchesはマッチング結果を保存するために使用される配列です。
正規表現を介してURL内のドメイン名パーツを抽出するための次のPHPコードがあるとします。 preg_match()関数を使用して、 $ matches変数の内容を出力します。
<?php
// 正規表現を定義します,マッチング用 URL
$pattern = "/https?:\/\/([a-zA-Z0-9.-]+)/";
// 入力 URL 弦
$url = "https://www.example.com/path/to/resource";
// 使用 preg_match() 定期的なマッチングを実行します
preg_match($pattern, $url, $matches);
// 出力 $matches コンテンツ
print_r($matches);
?>
$パターンは正規表現です。https?:\/\/([a-za-z0-9 .-]+)は、URLを一致させるために使用されます。
$ urlは一致する文字列です。ここではhttps://www.example.com/path/to/resourceを使用します。
preg_match()関数は通常のマッチングを実行し、 $マッチアレイに一致した結果を保存します。
最後に、 print_r()関数を使用して、 $ MATTESアレイの内容を出力します。
上記のコードを実行した後、出力は次のとおりです。
Array
(
[0] => https://www.example.com
[1] => www.example.com
)
$ matches [0]には、完全な一致結果、つまりURL全体( https://www.example.com )が含まれています。
$ matches [1]には、最初のキャプチャグループの結果、つまりドメイン名パーツ( www.example.com )が含まれています。
URLのドメイン名をM66.netに置き換える場合は、正規表現の一致後に置き換えることができます。例えば: