【PHP】これで分かる関数! – 正規表現関数その2 –

PHP

更新履歴

更新日更新者更新内容
2021/8/21JJI・”はじめに”の段落を追加
・サンプルプログラムの実行結果に画面の画像を追加

はじめに

サンプルプログラムの中で次の記事で載せている関数を使用している場合があります。

preg_match/mb_ereg

preg_match

preg_match()関数のサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // 共通ライブラリの読み込み
    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】正規表現関数:preg_match<br>\n";

    // 検索対象文字列
    $str1 = "Mike have a black dog.";
    $str2 = "メアリー have a 桃色 ネコ.";

    // シングルバイト文字の検索
    $match = "/black/";
    echo "検索対象文字列:" . $str1 . ":<br>\n";
    echo "正規表現:" . $match . ":<br>\n";
    echo "正規表現のマッチ結果:" . preg_match($match, $str1, $hits) . ":<br>\n";    
    echo_array1($hits);

    // マルチバイト文字の検索
    $match = "/桃色/";
    echo "検索対象文字列:" . $str2 . ":<br>\n";
    echo "正規表現:" . $match . ":<br>\n";
    echo "正規表現のマッチ結果:" . preg_match($match, $str2, $hits) . ":<br>\n";    
    echo_array1($hits);
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_06_24.php<br>
【PHP】正規表現関数:preg_match<br>
検索対象文字列:Mike have a black dog.:<br>
正規表現:/black/:<br>
正規表現のマッチ結果:1:<br>
[0]:black:<br><br>
検索対象文字列:メアリー have a 桃色 ネコ.:<br>
正規表現:/桃色/:<br>
正規表現のマッチ結果:1:<br>
[0]:桃色:<br><br>

mb_ereg

mb_ereg()関数のサンプルプログラムです。

<?php
    // 引数の値への厳密な型付け
    declare(strict_types = 1);
    // 共通ライブラリの読み込み
    require_once __DIR__ . "../../../lib/sample_common.php";

    echo "ファイル名:" . basename(__FILE__) . "<br>\n";
    echo "【PHP】正規表現関数:mb_ereg<br>\n";

    // 検索対象文字列
    $str1 = "Mike have a black dog.";
    $str2 = "メアリー have a 桃色 ネコ.";

    // シングルバイト文字の検索
    // preg_matchで付けている正規表現の開始・終了文字(/)はつけない
    // 付けるとマッチしない
    $match = "have";
    echo "検索対象文字列:" . $str1 . ":<br>\n";
    echo "正規表現:" . $match . ":<br>\n";
    echo "正規表現のマッチ結果:" . mb_ereg($match, $str1, $hits) . ":<br>\n";    
    echo_array1($hits);

    // マルチバイト文字の検索
    // preg_matchで付けている正規表現の開始・終了文字(/)はつけない
    // 付けるとマッチしない
    $match = "桃色|茶色";
    echo "検索対象文字列:" . $str2 . ":<br>\n";
    echo "正規表現:" . $match . ":<br>\n";
    echo "正規表現のマッチ結果:" . mb_ereg($match, $str2, $hits) . ":<br>\n";    
    echo_array1($hits);
?>

実行結果です。

・画面

・HTML

ファイル名:sample02_06_25.php<br>
【PHP】正規表現関数:mb_ereg<br>
検索対象文字列:Mike have a black dog.:<br>
正規表現:have:<br>
正規表現のマッチ結果:4:<br>
[0]:have:<br><br>
検索対象文字列:メアリー have a 桃色 ネコ.:<br>
正規表現:桃色|茶色:<br>
正規表現のマッチ結果:6:<br>
[0]:桃色:<br><br>

コメント