-6

[1-48] の範囲内の値を受け入れる Reg 式が必要です。

4

2 に答える 2

4

次の正規表現を試すことができます。^0*(?:[1-9]|[1-3][0-9]|4[0-8])$

ただし、可能であれば、数値検証に別のメカニズムを使用することをお勧めします。正規表現は、コメントで既に指摘されているように、文字列パターンに一致することを意図しています。

部分ごとの正規表現の説明は次のとおりです。

  • ^: 文字列の先頭
  • 0*: 先頭の 0 に一致
  • (?:: OR のグループ化 (非キャプチャ グループ)
    • [1-9]:マッチ1~9
  • |: また
    • [1-3][0-9]: 10 から 39 に一致
  • |: また
    • 4[0-8]: 40 ~ 48 に一致
  • ): OR のグループ化を終了します。
  • $: 文字列の終わり

この RegExrで動作することを確認してください。

将来的に自分で設計/テストするのに役立つリソースがいくつかあります。

于 2013-02-05T11:32:38.117 に答える
0

これに正規表現を使用する理由がわかりません。あなたは直接言うことができます

if( x >= 1 && x <=48) {
   // x will fall in range[1-48] inclusive
}
于 2013-02-05T11:57:54.060 に答える