正規表現を使った文字列検索とマッチ文字列の抽出 (mb_ereg()関数による正規表現パターンマッチング) - PHP

mb_ereg()関数を使って正規表現でのパターンマッチングをします。mb_ereg()関数を3つの引数をつけて呼び出すことで、パターンにマッチした部分を取得します。

コード例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
  </head>
  <body>
    <?php
    $inputstr = '一般的にシロクマは北極に住んでいると思われがちだが、'
            . 'シロクマはアラスカやグリーンランドにも住んでいる';

    mb_regex_encoding("UTF-8");

    $ret = mb_ereg('シロクマ', $inputstr, $retstr);
    if (0 == $ret) {
      echo("一致しませんでした。<br/>");
    } else {
      echo("一致た部分は{$ret}バイト。<br/>");
      for ($i = 0; $i < count($i); $i++) {
        echo($retstr[$i] . '<br/>');
      }
    }
    echo("---<br/>");

    $ret = mb_ereg('ペンギン', $inputstr, $retstr);
    if (0 == $ret) {
      echo("一致しませんでした。<br/>");
    } else {
      echo("一致た部分は{$ret}バイト。<br/>");
      for ($i = 0; $i < count($i); $i++) {
        echo($retstr[$i] . '<br/>');
      }
    }
    echo("---<br/>");

    $ret = mb_ereg('ア.*カ', $inputstr, $retstr);
    if (0 == $ret) {
      echo("一致しませんでした。<br/>");
    } else {
      echo("一致た部分は{$ret}バイト。<br/>");
      for ($i = 0; $i < count($i); $i++) {
        echo($retstr[$i] . '<br/>');
      }
    }
    echo("---<br/>");
    ?>
  </body>
</html>

実行結果

一致た部分は12バイト。
シロクマ
---
一致しませんでした。
---
一致た部分は12バイト。
アラスカ
---

著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-02-01
iPentec all rights reserverd.