私の要件は、0から100までの10進値を受け入れる正規表現です(1,2,3、....、99,0.1,0.2,0.3、..など)。 ...、99.9,0.01,02,0.03、.....、99.99,00.01~99.99)。 1つの解決策が見つかりました0から100までの10進数を受け入れる正規表現
/^(?!0?0\.00$)\d{1,2}\.\d{2}$/
ただし、00.01〜99.99のような小数点以下の値しか受け付けません。
私の要件は、0から100までの10進値を受け入れる正規表現です(1,2,3、....、99,0.1,0.2,0.3、..など)。 ...、99.9,0.01,02,0.03、.....、99.99,00.01~99.99)。 1つの解決策が見つかりました0から100までの10進数を受け入れる正規表現
/^(?!0?0\.00$)\d{1,2}\.\d{2}$/
ただし、00.01〜99.99のような小数点以下の値しか受け付けません。
方法について:
^(?!0+(?:\.0+)?$)\d?\d(?:\.\d\d?)?$
説明:
^ : begining of string
(?! : negative lookahead, assumes there is no:
0+ : 1 or more zero
(?: : non capture group
\.0+ : a dot then 1 or more zeros
)?$ : end of group, optional, until end of string
) : end of lookahead
\d?\d : 1 or 2 digit
(?: : non capture group
\.\d\d? : a dot followed by 1 or 2 digit
)? : end of group, optional
$ : end of string
方法以下について: ^(100|([0-9][0-9]?(\.[0-9]+)?))$
まず、その後、100番号の外側のケースを扱いますrに向かう組み合わせをエミュレートする。
Javaでこれを使用する場合は、必ずバックスラッシュをエスケープしてください。
'100'は受け入れられません。 – Toto
数字を四捨五入して0と100を比較するのは簡単でしょうか? – 31piy
このRegex(100)| [1-9] \ dを試してみませんか? – CrazyMac
私は正規表現でそれをしません。 – Kent