正規表現を智能生成・解説し、様々な一般的なパターンマッチングをサポート
テキスト指示を数式に変換するか、数式の説明を取得します。
AIと会話してオンラインでExcelを編集します
テキスト指示をSQLクエリに変換します。
タスクを自動化し、Microsoft Excel内でカスタムソリューションを作成するためのExcel VBAコードを生成します。
Excelファイルをアップロードし、AIを使用して美しいチャートを生成します。
テキストを美しいマインドマップに変換します。簡単に編集・カスタマイズできます。
AIを使用して正規表現を智能生成・解説し、様々なテキストパターンマッチングとデータ検証をサポートします。
テキストの説明から美しい画像を生成するAIを使用します。無料です!
# PHP正規表現 完全チュートリアル(一般的な例を含む)[2025年最新ガイド]
PHPにおける正規表現(Regular Expressions)は、文字列処理のための強力なツールです。このチュートリアルでは、メールアドレス、電話番号、URL、日本語文字、HTMLタグなど、一般的なマッチング要件をカバーする実践的なPHP正規表現の例を提供し、開発者がPHPでの正規表現の利用を素早く習得できるよう支援します。
## ✅ 正規表現関数一覧(pregシリーズ)
```php
preg_match() // 正規表現マッチを実行し、最初の一致結果を返す
preg_match_all() // グローバル正規表現マッチを実行し、すべての一致結果を返す
preg_replace() // 正規表現置換を実行する
preg_split() // 正規表現を使用して文字列を分割する
preg_grep() // 正規表現に基づいて配列をフィルタリングする
$email = "[email protected]";
if (preg_match("/^[\w\-\.]+@([\w\-]+\.)+[a-zA-Z]{2,7}$/", $email)) {
echo "有効なメールアドレス";
}
$mobile = "13812345678";
if (preg_match("/^1[3-9]\d{9}$/", $mobile)) {
echo "有効な電話番号";
}
$url = "https://www.example.com";
if (preg_match("/^(https?:\/\/)?([\w\-]+\.)+[a-zA-Z]{2,6}(\/\S*)?$/", $url)) {
echo "有効なURL";
}
$ip = "192.168.0.1";
if (preg_match("/^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$/", $ip)) {
echo "有効なIP";
}
$html = "<p>Hello <strong>world</strong></p>";
preg_match_all("/<[^>]+>([^<]+)<\/[^>]+>/", $html, $matches);
print_r($matches[1]);
$str = "こんにちはworld"; // 元の例文は「你好world」でしたが、日本語の文脈で「こんにちはworld」に修正しました。
if (preg_match("/[\x{4e00}-\x{9fa5}]|[-ゟ]|[゠-ヿ]/u", $str)) { // 中国語の範囲だけでなく、日本語のひらがな、カタカナの範囲も追加しました。
echo "日本語を含みます";
}
$str = "abc123def456";
$result = preg_replace("/\d+/", "", $str);
echo $result; // 出力 abcdef
$str = "hello123world,php";
$parts = preg_split("/[^a-zA-Z]+/", $str);
print_r($parts);
修飾子 | 説明 |
---|---|
i | 大文字小文字を区別しない |
m | マルチラインモード |
s | ドットを改行にもマッチさせる |
u | UTF-8文字をサポート |
x | パターン内の空白を無視する |
使用方法:
preg_match("/pattern/i", $str); // 大文字小文字を区別しないマッチ
preg_match_all
を使用します。
preg_replace
を使用します。
u
修飾子を追加することを推奨します。
.
、*
、?
、(
、)
、+
など)はエスケープする必要があります。
var_dump()
を使用します。