56

私はたくさん検索しましたが、この RegExp の解決策を見つけることができません (Reg. Expressions の経験があまりないと言わざるを得ません)。

Regex = ^[1-9]?[0-9]{1}$|^100$

0 を除く 1 から 100 までの数値をテストしたい

4

13 に答える 13

106

試す:

^[1-9][0-9]?$|^100$

働くフィドル

編集:00001、00000099に一致させたい場合は試してください

^0*(?:[1-9][0-9]?|100)$

フィドル

于 2012-11-20T12:51:12.880 に答える
10

試してみてください、これはより効率的に動作します.. 1. 00 - 99.99 (10 進数を含む)

^([0-9]{1,2}){1}(\.[0-9]{1,2})?$ 

ワーキングフィドルリンク

https://regex101.com/r/d1Kdw5/1/

2. 1 ~ 100 (両端を含む) の範囲の数値で、前に 0 はありません。

(?:\b|-)([1-9]{1,2}[0]?|100)\b

ワーキングフィドルリンク

http://regex101.com/r/mN1iT5/6

于 2014-08-14T10:24:20.970 に答える
3

彼が本当に正規表現を必要としていると仮定すると(多くの状況で完全に合理的です)、問題は特定の正規表現の種類を指定する必要があることです。例えば:

egrep '^(100|[1-9]|[1-9][0-9])$'
grep -E '^(100|[1-9]|[1-9][0-9])$'

(... | ...)代替構文が使用可能な場合は、正常に機能します。他のコンテキストでは、\(... \ | ... \)のようにバックスラッシュされます

于 2012-11-20T12:57:27.507 に答える
3

そのための正規表現パターンを記述する方法はたくさんあります

  • ^(?:(?!0)\d{1,2}|100)$
  • ^(?:[1-9]\d?|100)$
  • ^(?!0)(?=100$|..$|.$)\d+$
于 2012-11-20T12:58:24.937 に答える
1

このangular 6に使用します

これを試して。

^([0-9]\.[0-9]{1}|[0-9]\.[0-9]{2}|\.[0-9]{2}|[1-9][0-9]\.[0-9]{1}|[1-9][0-9]\.[0-9]{2}|[0-9][0-9]|[1-9][0-9]\.[0-9]{2})$|^([0-9]|[0-9][0-9]|[0-99])$|^100$

0.00 - 100 を検証します。小数点以下 2 桁です。

これが役立つことを願っています

<input matInput [(ngModel)]="commission" type="number" max="100" min="0" name="rateInput" pattern="^(\.[0-9]{2}|[0-9]\.[0-9]{2}|[0-9][0-9]|[1-9][0-9]\.[0-9]{2})$|^([0-9]|[0-9][0-9]|[0-99])$|^100$" required #rateInput2="ngModel"><span>%</span><br>

数値は 0 から 100 の間である必要があります

于 2020-03-24T09:41:08.143 に答える
0

小数点付きの 0 ~ 100 の正規表現。

^100(\.[0]{1,2})?|([0-9]|[1-9][0-9])(\.[0-9]{1,2})?$
于 2019-08-30T18:31:40.760 に答える
-1

これは、ifステートメントを使用するためのより良い解決策のようです:

num = 55
if num <= 100 and num >= 1:
    print("OK")
else:
    print("NOPE")
于 2012-11-20T12:48:40.950 に答える
-5

これは非常に単純なロジックなので、regx は必要ありません。

代わりに三項演算子を使用してください

var num = 89;
var isValid = (num <=  100 && num > 0 ) ? true : false;

それはあなたのための魔法を行います!!

于 2014-08-18T09:09:24.210 に答える