ホームページ  >  記事  >  バックエンド開発  >  PHPのpreg_match(関数)

PHPのpreg_match(関数)

PHPz
PHPzオリジナル
2024-08-29 12:49:51984ブラウズ

PHP プログラミング言語の preg_match() 関数は、文字列でパターンを検索し、パターンが存在する場合にのみ TRUE を返します。それ以外の場合、preg_match() 関数は FALSE を返します。 Preg_match() 関数は基本的にいくつかのパラメーターを使用して動作します。これは、入力文字列データ/文字列パターン内の文字列パターンを検索するのに非常に役立ちます。最初のパラメータは、検索する文字列パターンを保存することです。 2 番目のパラメーターは、入力文字列を保存します。 preg_match() 関数を使用して、文字列データ内で必要な文字列パターンを検索します。 「matches」パラメータを含めて print で使用すると、一致する文字列の内容が検索され、出力に表示されます。

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文:

Int preg_match($pattern, $input, $matches, $flags, $offset)

説明:

  • PHP 言語の preg_match() 関数は、構文列で前述したように、通常、preg_match() 関数内にある 5 つのパラメーターのみを受け入れます。
  • preg_match() 関数は、パターン、入力、一致、フラグ、オフセットの 5 つのパラメーターで構成されます。
  • preg_match() 関数のすべてのパラメータは、英数字文字列データを含む大きな文字列またはドキュメント内の文字列パターンを検索するのに役立ちます。

PHP では preg_match はどのように機能しますか?

PHP プログラミング言語の preg_match() 関数は、文字列文またはその他のデータの大きなリスト内で文字列パターンを検索します。文字列パターンが見つかった場合にのみ TRUE 値を返します。それ以外の場合は、FALSE 値を返します。 PHP の Preg_match() 関数は通常、preg_match () 関数内に含まれる 5 つのパラメータに基づいて動作します。

以下にパラメータを示します:

1.パターンパラメータ: これは PHP の preg_match() パラメータで、文字列を文字列として検索するためのパターンを保持するために使用されます。関数内で「$」記号を使用して、パターンを変数として示します。

2.入力パラメータ: preg_match() 関数内にある入力パラメータは、文字列入力/文字列入力値を保持します。

3. Matches パラメータ: preg_match() 内にある Matches パラメータは、一致するものが存在する場合にのみ検索結果を提供します。一致とは、同じ文字列が存在するかどうかを意味します。 $matches[0] には、実際には完全一致文字列パターンであるフルテキストが含まれます。 $matches[1] には、括弧で囲まれた最初のキャプチャされたサブパターンなどに一致する文字列テキストが含まれます。

ほとんどの文字列パターンは $matches[0][0]、$matches[1][0]、$matches[2][0]、$matches[3][0] などにあります。 $matches[0][1]、$matches[1][1]、$matches[2][1]、および $matches[3][1] では、文字列パターンとして 0 を意味する NULL が見つかります。値は、matches 配列に何も保存されていないためです。

4. Flags パラメータ: flags パラメータには、文字列パターン検索の処理に非常に役立つ他のフラグを含めることができます。

  • PREG_OFFSET_CAPTURE FLAG: フラグを preg_match() 関数に渡すと、一致文字列ごとに追加されたオフセットが返されます。
  • PREG_UNMATCHED_AS_NULL FLAG: このフラグは、NULL として報告するのに役立ちます。フラグが渡されると、サブパターンはまったく一致しないため、サブパターンは NULL として報告されます。

5.オフセット パラメーター: preg_match() 関数のオフセット パラメーターは、入力として送信される文字列の先頭から検索する場合に非常に役立ちます。このオフセット パラメーターはオプションであり、常に必要になるわけではありません。要件に応じてご利用いただけます。 「offset」パラメータは、文字列検索の開始位置を指定します。

6. preg_match() からの戻り値: PHP の preg_match() 関数は、文字列パターンが存在する場合にのみ常に TRUE を返します。それ以外の場合、preg_match() 関数は FALSE を返します。

PHP での preg_match の例

以下に例を示します:

例 #1

これは、PREG_OFFSET_CAPTURE フラグを使用した preg_match() を示しています。 「$pavan1」は文字列値「PavanKumarSake」として作成および保存され、「$pavan1」に割り当てられます。次に、preg_match() がパラメーターを使用して宣言されます。

‘/(Pavan)(Kumar)(Sake)/’ is the pattern parameter that holds the pattern, which is to search in the input string/string value. Next, we insert the variable “$pavan1” as an input variable. This variable usually contains the string element that we need to search to determine if the string variable’s value exists within it or not. Next, we place the variable “$matches1” after the comma following the variable “$pavan1”. This is helpful to check at what position the patterns are available inside the input string ”PavanKumarSake”.

In the above preg_match() working explanation, we said that what $matches[0] and $matches[1] will return. Likewise, in the below example, $matches[1] will provide the result that is/are fully matched with the pattern/patterns. So the output of array[0] is “PavanKumarSake” because it contains the full string/text.

Then array[1][0] will be “Pavan” then array[2][0] is “Kumar” and array[3][0] is “Sake” based on example1’s output. Then the “print_r($matches1)” is to print what matches are available inside the input string and also shows at what position the string pattern/patterns are available inside the string pattern. Print_r will show the output of the above preg_match() program of PHP Programming Language.

Code:

<?php
$pavan1 = 'PavanKumarSake';
preg_match('/(Pavan)(Kumar)(Sake)/', $pavan1, $matches1, PREG_OFFSET_CAPTURE);
print_r($matches1);
?>

Output:

PHPのpreg_match(関数)

Example #2

In the example below, we assign the string value “www.profitloops.com” to the variable $pro_url. To check if the word “profit” is present in the variable $pro_url, you can use an if statement with the preg_match function. If the function returns a non-zero value, indicating a match, the if condition will consider it as true.

You can then execute the desired statement. The statement “The URL www.profitloops.com contains profit” will be printed if the word “profit” is present in the URL. The browser will display the output below the output section. If the word “profit” is not present in www.profitloops.com, then statements that are in the ELSE condition will be printed.

We use another IF statement to check if the word “loops” appears in the word located at www.profitloops.com. If the condition is a fault, then the ELSE condition’s statements will be printed. But here, the IF conditions are TRUE, so the statements that are inside of the IF will be printed.

Code:

<?php
$pro_url = "www.profitloops.com";
if (preg_match("/profit/", $pro_url))
{
echo "the url $pro_url contains profit , ";
}
else
{
echo "the url $pro_url does not contain profit , ";
}
if (preg_match("/loops/", $pro_url)){
echo "the url $pro_url contains loops , ";
}
else{
echo "the url $pro_url does not contain loops , ";
}
?>

Output:

PHPのpreg_match(関数)

以上がPHPのpreg_match(関数)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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