- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPの正規表現「ereg」で特定の数字範囲をマッチさせたい)
PHPの正規表現で特定の数字範囲をマッチさせたい
このQ&Aのポイント
- PHPの正規表現で、特定の数字範囲をマッチさせる方法について教えてください。
- 自分の試した正規表現パターンではうまくいかないため、助けが必要です。
- マッチさせたい範囲は0~99までで、ただし「4~6」と「11~15」以外の数字のみをマッチさせたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
下記のような式になります。 ereg("((^[4-6]$)|(^1[1-5]$))", $hoge)
その他の回答 (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) 汎用性を考えると、数字の部分だけを抜き出して、大小比較で判断する方がいいと思います。
質問者
お礼
ありがとうございます! ANo.1の方に教えてもらったやり方を、preg_matchで使用してできました! eregと同じやり方でしたが、うまくいきました! 本当にたすかりましたーー! お二方には心から感謝です!!
お礼
ありがとうございます! この式を!ereg~で使ってみたらうまくいきました! 本当にたすかりましたー!!