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 = 'Penguin=110';
//$inputstr = 'kuma = 6000';
preg_match('/(?P<name>.*)\s*=\s*(?P<digit>.*)$/', $inputstr, $matches);
echo($matches['name'].'<br/>');
echo($matches['digit'].'<br/>');
?>
</body>
</html>
解説
検索対象文字列を準備します。
$inputstr = 'Penguin=110';
preg_match()関数を呼び出してパターンマッチをします。第一引数がマッチのためのパターン第二引数が検索対象の文字列、第三引数が結果格納変数となります。
preg_match('/(?P<name>.*)\s*=\s*(?P&<digit>.*)$/', $inputstr, $matches);
結果変数の連想配列にパターンマッチした部分が格納されます。連想配列名にサブパターン名を指定するとその名前のパターンでマッチした文字列にアクセスできます。
echo($matches['name'].'<br/>');
echo($matches['digit'].'<br/>');
実行結果
Penguin
110
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-02-02