ホームページ >バックエンド開発 >PHPチュートリアル >PHPの正規表現関数preg_match()の使い方の詳しい説明

PHPの正規表現関数preg_match()の使い方の詳しい説明

WBOY
WBOYオリジナル
2023-06-27 15:39:556537ブラウズ

PHP は、Web 開発に広く使用されているサーバー側スクリプト言語であり、文字列や正規表現を処理する関数を含む豊富な関数ライブラリを提供します。この記事では、PHP で正規表現を照合するために使用される関数の 1 つである preg_match() 関数の使用に焦点を当てます。

1. preg_match() 関数の定義

preg_match() 関数は、PHP で正規表現を照合するために使用される関数の 1 つです。この関数は、文字列内の正規表現パターンに一致する部分文字列があるかどうかを取得し、その結果を配列に格納するために使用され、戻り値は一致した数です。関数は次のように定義されます:

preg_match(pattern, subject,matches)

pattern: 正規表現パターン (例: '/^[a-zA-Z0) -9_] $/'。

subject: 照合する文字列 (「hello world」など)。

matches: 一致結果を格納する配列。省略することも、関数の外で定義してから最初に記述することもできます。

2. 正規表現の構文

preg_match() 関数を使用する前に、正規表現の構文を理解する必要があります。正規表現は、パターンを照合し、文字列の特性を説明するために使用される文字のシーケンスです。一般的に使用される正規表現構文の一部を次に示します。

^: 文字列の先頭と一致することを示します。

$: 一致する文字列の終わりを示します。

.: 任意の文字と一致します。

##: 0 回以上出現する前の文字と一致します。

: 1 回以上出現する前の文字と一致します。

?: 0 回または 1 回出現する前の文字と一致し、オプションのオプションを示します。

[]: 角括弧内の任意の文字と一致します。「[abc]」は、a、b、c の任意の文字と一致することを意味します。

d: 番号を一致させます。

D: 数字以外と一致します。

w: 任意の文字、数字、アンダースコアと一致します。

W: 文字、数字、アンダースコア以外の文字と一致します。

3. preg_match() 関数の使用例

次に、preg_match() 関数の使用例をいくつか示します。

例 1: 携帯電話番号の一致

$pattern = '/^1[3456789]d{9}$/';
$subject = '13888888888';
if (preg_match($pattern, $subject, $matches)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

例 2: 電子メール アドレスの一致

$pattern = '/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/';
$subject = 'example@example.com';
if (preg_match($pattern, $subject, $matches)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

例 3: URL アドレスの一致

$pattern = '/^((https|http|ftp|rtsp|mms)?://)[^s]+/';
$subject = 'http://www.example.com';
if (preg_match($pattern, $subject, $matches)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

例 4: 一致漢字

$pattern = '/^[u4e00-u9fa5]+$/';
$subject = '中国汉字';
if (preg_match($pattern, $subject, $matches)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

4. preg_match() 関数の注意事項

preg_match() 関数を使用する場合、いくつかの注意事項があります。関数は実行後に正常に戻ります。値は 1 で、失敗した場合は 0 または false を返します。

一致結果が複数ある場合は、最初に一致した結果のみが配列に格納されます。
  1. 正規表現パターンでエスケープ文字を使用する必要がある場合は、エスケープ文字の前にバックスラッシュを追加する必要があります。
  2. preg_match_all() 関数を使用すると、パターンに一致する文字列内のすべての部分文字列と一致します。
  3. 5. 結論
  4. この記事を通じて、読者は PHP の preg_match() 関数の使用法と正規表現の構文を完全に理解できます。正規表現は Web 開発で一般的に使用されるテクノロジであり、正規表現に習熟すると、Web 開発の効率と品質が向上します。正規表現を使用する場合は、結果が正しいことを確認するために、一致パターンと一致する文字列を注意深く確認する必要があることに注意してください。

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

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