PHP関数 mb_ereg()での正規表現を使った文字列検索とマッチ文字列の抽出
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の積極的な活用にも取り組み中。
とっても恥ずかしがり。