Я тратил часы на эту проблему, глядя повсюду ... Моя проблема проста: мы хотим проверить, что пользователь вошел в хорошее число. может быть целым числом или десятичным числом с комами, а не точками, и бесконечными числами после комы.C# Regex для французского десятичного
Я попробовал этот
Regex decimalRegex = new Regex(@"\d+(,\d+)?");
Я думал, что это было бы хорошо, но это, например: 2,324e верно, если я пытаюсь IsMatch на нем. Кроме того, это не имеет значения между точками и комами, поэтому это 2.23 в порядке с IsMatch с моим регулярным выражением.
Но я хочу, чтобы это было разрешено, например, с числом 2:
2
2,2
2,3243241428483248
31324,232332 (infinite numbers before and after)
и запретить:
2.2
2,2434214e (any letter)
и идеально упаси (я думал, что будет делать трюк, но это нет) ...
2,2,2 or
2.2.2
и позволяют только один кома ... Я в Fren ch culture иначе
у любого чемпиона в регулярном выражении есть предложение? я даже скачал Expresso, чтобы сделать эту работу, но я не мог ..
Подождите ... как ваш RE соответствует 2.23? Вы говорите, что он находит 2.23. Вы уверены, что это соответствует 2.23? – Keng 2010-12-09 16:21:21
Я, точка в порядке Я не знаю, почему, это не должно, но оно проходит ... Я не понимаю, почему регулярное выражение не может видеть никакой разницы между и. – KitAndKat 2010-12-09 16:44:26