• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPの正規表現「ereg」で特定の数字範囲をマッチさせたい)

PHPの正規表現で特定の数字範囲をマッチさせたい

このQ&Aのポイント
  • PHPの正規表現で、特定の数字範囲をマッチさせる方法について教えてください。
  • 自分の試した正規表現パターンではうまくいかないため、助けが必要です。
  • マッチさせたい範囲は0~99までで、ただし「4~6」と「11~15」以外の数字のみをマッチさせたいです。

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

  • ベストアンサー
  • Hohenheim
  • ベストアンサー率18% (43/237)
回答No.1

下記のような式になります。 ereg("((^[4-6]$)|(^1[1-5]$))", $hoge)

nikuq
質問者

お礼

ありがとうございます! この式を!ereg~で使ってみたらうまくいきました! 本当にたすかりましたー!!

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

[^ ] というのは、1文字に関して「それ以外の文字」ということです。複数文字のパターンに関して「それ以外」という表現は出来ません。 あと、ereg関数は古いので、preg_match関数を使ってください。 0~3と7~10と16~99にマッチですよね。 [0-3]|[8-9]|10|1[6-9]|[2-9][0-9] これだと、"13" の "3" にもマッチするので、単語境界を示す \b を使って、 preg_match("/\\b([0-3]|[8-9]|10|1[6-9]|[2-9][0-9])\\b/",$hoge) 汎用性を考えると、数字の部分だけを抜き出して、大小比較で判断する方がいいと思います。

nikuq
質問者

お礼

ありがとうございます! ANo.1の方に教えてもらったやり方を、preg_matchで使用してできました! eregと同じやり方でしたが、うまくいきました! 本当にたすかりましたーー! お二方には心から感謝です!!

関連するQ&A