現在の位置: ホーム> 最新記事一覧> PHPの正規表現と実用的な例の詳細な説明のガイド

PHPの正規表現と実用的な例の詳細な説明のガイド

M66 2025-08-04

PHP正規表現の詳細な説明

正規表現は、PHPで文字列のマッチングと操作を処理するための強力なツールであり、データの検証、抽出、交換シナリオで広く使用されています。この記事では、読者が本質を迅速に把握できるように、PHPの正規表現の基本的な使用法と実用的な例を体系的に導入します。

基本的な正規表現構文

PHPで最も一般的に使用される通常のマッチング関数はpreg_match()であり、そのコアの通常の構文は次のとおりです。

  • Metacharacter:
    • ^:文字列の始まりを一致させます
    • $:文字列の端を一致させます
    • 。:単一の文字を一致させます
    • *:前の文字ゼロまたは複数回一致します
    • +:前のキャラクターを1回以上一致させます
    • ?:前の文字ゼロまたは1回に一致します
    • []:括弧内のキャラクターを一致させます
    • | :論理 "または"オペレーター
    • ():グループオペレーター
  • 特殊文字:
    • \ d:一致します
    • \ w:文字、数字、アンダースコアを一致させます
    • \ s:白人文字を一致させます
  • 量子:
    • {n}:前の文字を正確にn回一致させます
    • {n、}:前の文字を少なくともn回一致させます
    • {n、m}:前の文字を少なくともn回、最大m回

一般的な正規表現の例

メールアドレスを一致させます

$email = "example@example.com";
if(preg_match("/^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/", $email)){
    echo "Email有効なアドレス!";
}else{
    echo "Email無効なアドレス!";
}

携帯電話番号を一致させます

$phone = "13812345678";
if(preg_match("/^1[3456789]\d{9}$/", $phone)){
    echo "有効な携帯電話番号!";
}else{
    echo "無効な携帯電話番号!";
}

HTMLタグでコンテンツを抽出します

$html = '<div><p>Hello, World!</p></div>';
preg_match("/<p>(.*?)<\/p>/", $html, $matches);
echo "抽出されたコンテンツはです:" . $matches[1];

文字列内のコンテンツを置き換えます

$oldStr = "Hello, PHP!";
$newStr = preg_replace("/PHP/", "World", $oldStr);
echo "交換された文字列はです:" . $newStr;

文字列に特定の文字が含まれているかどうかを判断します

$str = "Hello, World!";
if(preg_match("/World/", $str)){
    echo "文字列には含まれます'World'!";
}else{
    echo "文字列には含まれていません'World'!";
}

正規表現の高度な適用

基本的なマッチングに加えて、正規表現は、より複雑なマッチングロジックを実装できるキャプチャグループとアサーションもサポートしています。次の例は、特定のキーワードを含む文を抽出する方法を示しています。

 $text = "I love PHP. PHP is a powerful language. PHP is widely used.";
preg_match_all("/(.*?PHP.*?)./", $text, $matches);
foreach($matches[1] as $sentence){
    echo $sentence . ".";
}

この例を通じて、PHP正規表現の構文と実用的なスキルを完全に理解し、それらを毎日の開発タスクに柔軟に適用できます。正規表現は、文字列を処理するための強力なツールであり、それらをマスターすると、コーディングの効率とコードの品質が大幅に向上します。この記事の内容があなたの研究に役立つことを願っています。プロジェクトの実際の状況に基づいて、探索と練習を続けることへようこそ。