ここから本文です

正規表現で、整数2ケタ+少数1ケタを可能にする方法

zbm********さん

2012/2/213:11:25

正規表現で、整数2ケタ+少数1ケタを可能にする方法

上記内容ができなくて困っています。。。

開発言語はC#で、実行環境はWindowsのみ、ASP.NETです。

今実装している内容はこのようになっています。

^\d{1,2}[\.]?\d?

で、実現したい内容は以下のとおりです。

○=0
○=1
○=1.0
○=10.0
○=10.5
○=99
○=99.9

×=1.15
×=100

要は、0~99.9までの数値を入力したいと考えています。

しかし、上に書いた正規表現では整数部3桁以上入力してもOKになってしまいます…。

どなたかお判りになる方いらっしゃいますでしょうか?

閲覧数:
13,345
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

Danielさん

2012/2/213:45:10

dsy38mkmさん の正規表現なら
99.
でも可能になってしまいます。
^\d{1,2}(\.\d)?$
がいいと思います。
一応Pythonで実行した結果貼っておきます。

>>> import re
>>> regex = "^\d{1,2}(\.\d)?$"
>>> for s in ["0", "1.0", "10.5", "1.15", "100"]:
print(s, ":", bool(re.match(regex, s)))


0 : True
1.0 : True
10.5 : True
1.15 : False
100 : False

質問した人からのコメント

2012/2/2 19:15:35

抱きしめる 回答ありがとうございました!望んでいた通りの結果になりました!大変助かりました!!!3時間悩んでいたので。。。もう。。。。感激です!!!

ベストアンサー以外の回答

1〜1件/1件中

dsy********さん

2012/2/213:35:22

^\d{1,2}(\.\d?)?$ でいいのかな。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる