• ベストアンサー

PHP ereg_replaceの使い方と正規表現

PHPを使いだしてまだ1週間足らずです。 Perlに置き換える作業をしています。 $listnumber = ereg_replace('^[^0-9]* 0*([0-9]+) .*$', '\\1', $listnumber); これが、いったい何をしていているのか。 ついでに、Perlに置き換えると、どうなるのか教えていただけると 大変助かります。 作業日数が少なくて、勉強する時間もなくて大変困っています。 助けてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

プログラム(スクリプト)だけあって、仕様書の類はないんですか? $listnumber = ereg_replace('^[^0-9]* 0*([0-9]+) .*$', '\\1', $listnumber); は $listnumber の内容から数値の部分を切り出して、それで $listnumber を置き換えるといったところですね。 このとき、leading zero は除去しています。 Perlで書くと $listnumber =~ s/^[^0-9]* 0*([0-9]+) .*$/$1/; といったところですか。 ちょっと書き直したくなる正規表現ですけど。 >作業日数が少なくて、勉強する時間もなくて大変困っています。 そんなに難しい正規表現じゃありませんけど今までどんなことをされていたんでしょう?

garmandt
質問者

お礼

本当にありがとうございます。 仕様書も全くない状態でプログラムからのみ仕様をひっぱってきている 状態です。 正規表現は、全くのど素人です。 VB、VCばかりだったもので・・・。 これを機会に理解するつもりです。 助かりました。感謝です。

関連するQ&A