2017-01-06 3 views
1

Это мой первый пост, и у меня очень мало опыта в кодировании в целом.Google regex для чисел с запятой как десятичный разделитель

Я пытаюсь выяснить регулярное выражение, которое будет использоваться в проверке данных Google Forms для чисел с запятой в качестве разделителя десятичных чисел.

Примеры правильных записей:

123,5 ; 1 ; 0,1 ; 0,001 

Примеры неправильных записей:

123.5 ; [a-z] ; any characters other than numbers 

Я уже пробовал ^[1-9]\d*(,\d+)?$, но это, кажется, не принимает запятые.

Извините, если это не подходящее место, чтобы спросить об этом, но я действительно застрял здесь и нуждаюсь в нем для работы.

+0

Это регулярное выражение выглядит нормально, но не принимает значения, меньшие, чем один, например '0,01' – simbabque

+2

. Ваши данные поступают именно так, как вы описали? в этом случае ваше регулярное выражение не будет совпадать. это будет соответствовать только в том случае, если запись «123,5» без пробелов или чего-то еще. – Rob

+0

try "^ (* (\ d *) (, \ d +) * * ;?) + $" – Rob

ответ

0

Пример:
123,5; 1; 0,1; 0.001

RegExp

[\d*.\,{1}\;{1}] 

Попробуйте:http://regexr.com/3f0r0

+0

Я думаю, что я не смог объяснить свои правильно, но на основании вашего ответа я использовал ^ [\ d * \, {1-9}] * $ , и он сделал трюк. В принципе, он проверяет только положительные числа с десятичными знаками или без них, используя запятую в качестве десятичного разделителя, что было точно то, что мне нужно. Большое спасибо! – Ortegal

+1

Любая идея, как я могу обновить^[\ d * \, {1-9}] * $, чтобы проверять только числа с двумя десятичными знаками? – Ortegal

+0

Попробуйте:^[0-9] + (\, [0-9] {1,2}) или^[\ d] + (\, [\ d] {2}) –

0

После будет соответствовать целому числу и десятичных чисел

(?:\d*\,)?\d+

Я думаю, что вы используете запятую для де численные числа.