- - PR -
正規表現で数値のみチェック
«前のページへ
1|2|3
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-13 09:59
うーんと、ご自分の書かれた正規表現が何を表すのか良く理解された方が良いですよ。 私は文章にして確認するようにしています。R・田中一郎さんの書かれたものは 先頭から -が0回か1回あって [0-9]が0回以上あって .が0回か1回あって [0-9]が0回以上あって 終わる文字列 になってますよ。"-",".","-."なんかは流石にNGじゃないですか? #おぉ、考えが足りてない。オールマッチじゃんか。 [ メッセージ編集済み 編集者: でっち6号 編集日時 2005-12-13 10:33 ] | ||||||||||||
|
投稿日時: 2005-12-13 10:17
^-?[0-9]*.?[0-9]*$
この正規表現だと あ のような文字列がOKになりますが | ||||||||||||
|
投稿日時: 2005-12-13 10:40
^-?[0-9]*.?[0-9]+$ の間違いでした。ごめんなさい。 でも、正直なところ、どうして + が * だと「あ」が通ったのかが理解できませんでした。 | ||||||||||||
|
投稿日時: 2005-12-13 11:18
いや、そうじゃなくて「.」です。
エスケープしないと…。 「正規表現言語要素」を確認してみてください。 | ||||||||||||
|
投稿日時: 2005-12-13 15:23
こうですか? ^-?[0-9]*\.?[0-9]+$ | ||||||||||||
|
投稿日時: 2005-12-13 19:30
入力なしが通るね
小数点だけも ok か。 小数点で終わるのも、通っちゃうね。 http://www.atmarkit.co.jp/fdotnet/index/bbs/dir105.html [ メッセージ編集済み 編集者: Jitta 編集日時 2005-12-13 19:32 ] すみません。最後の '*' が、'+' に変わっていることに気がついていませんでした。 [ メッセージ編集済み 編集者: Jitta 編集日時 2005-12-14 22:11 ] | ||||||||||||
|
投稿日時: 2005-12-14 09:19
以下のように確認してみたのですが正しく動作しましたよ?
結果は、False, False, False, True でした。
ここでは、 ^[-+]?[0-9]*\\\\.?[0-9]+$ になってますね。 これだと、+1 も数値としてみなされる訳ですね。 その他は、皆さんに教わりながら修正したのと一緒です。 |
«前のページへ
1|2|3