※ ChatGPTを利用し、要約された質問です(原文:PHP5で正規表現を使った文字の取り出しが上手くいきません。)
PHP5で正規表現を使った文字の取り出しが上手くいかない
PHP5で正規表現を使った文字の取り出しが上手くいきません。
PHP5で正規表現を使った文字の取り出しが上手くいきません。
こんばんは、教えて!goo初投稿させて頂きます。
PHP5で学内の事務情報を管理するスクリプトを組んでいます。
学籍番号から入学年度・学部・名簿番号を取り出したいのですが、狙った通りに上手く動いてくれません。
POSTで渡された テキスト内に含まれた7桁の学籍番号「0708068」(2:2:3桁区切りで入学年度・学部・名簿番号)をマッチングさせる為に、正規表現「\d{2}\d{2}\d{3}」で 配列 $regs に返し、
$regs[0] => 07
$regs[1] => 08
$regs[2] => 068
のような感じで戻ってくる事を想定しています。
手元の書籍、ネットのリファレンスで確認しても問題点が解りません。
何が間違っているのか、ご指摘お願いします。
//上手く動いてくれないコード
$text = "私の学籍番号は0708068番です。";
if(ereg("\d{2}\d{2}\d{3}",$text,$regs)){
echo "true.\n";
echo ($regs[0]."\n".$regs[1]."\n".$regs[2]."\n");
}else{
echo "false.\n";
//いつもfalseが帰ってきてしまう。
}
お礼
ここ数日、周りに質問できる人もおらず、なぜ動かないのか頭を抱えていましたが、 >regex拡張モジュールは非推奨 >POSIX正規表現では\dは通用しない など、聞いた事によって色々と謎が解けました。どうも有り難う御座います。