preg_match()関数を使って正規表現を使った文字列のパターンマッチングをします。
コード例
<!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 = '一般的にシロクマは北極に住んでいる[1]と思われがちだが、'
. 'シロクマはアラスカやグリーンランドにも住んでいる[2]';
$ret = preg_match('/シロクマ/', $inputstr, $match);
if ($ret == 0) {
echo('マッチしませんでした。<br/>');
} else {
for ($i = 0; $i < count($match); $i++) {
echo($match[$i] . '<br/>' . "\n");
}
}
$ret = preg_match('/グ.*ランド/', $inputstr, $match);
if ($ret == 0) {
echo('マッチしませんでした。<br/>');
} else {
for ($i = 0; $i < count($match); $i++) {
echo($match[$i] . '<br/>' . "\n");
}
}
$ret = preg_match('/\[\d\]/', $inputstr, $match);
if ($ret == 0) {
echo('マッチしませんでした。<br/>');
} else {
for ($i = 0; $i < count($match); $i++) {
echo($match[$i] . '<br/>' . "\n");
}
}
echo('End.<br/>');
?>
</body>
</html>
解説
入力文字列を準備します。
$inputstr = '一般的にシロクマは北極に住んでいる[1]と思われがちだが、'
. 'シロクマはアラスカやグリーンランドにも住んでいる[2]';
preg_match()関数を呼び出し、正規表現による文字列検索を実行します。パターンにマッチした場合は戻り値に1が、パターンにマッチしなければ0が戻ります。
$ret = preg_match('/シロクマ/', $inputstr, $match);
パターンにマッチした場合は、マッチした部分文字列を表示します。
if ($ret == 0) {
echo('マッチしませんでした。<br/>');
} else {
echo($ret.'<br/>');
for ($i = 0; $i < count($match); $i++) {
echo($match[$i] . '<br/>' . "\n");
}
}
実行結果
pre class="brush
1
シロクマ
1
グリーンランド
1
[1]
End.
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-02-01