2015-10-21 4 views
0

Довольно простой предполагаю. Мне нужно построить шаблон регулярного выражения, чтобы он соответствовал и вытаскивал шаблон int, int, int, формируя строку. Я бы хотел, чтобы он включал в себя также и отрицательные ints (тогда я хочу, чтобы sub в эту строку вычисленное значение);Regex для проверки на шаблон int

например.

1,2,3 
-1,3,5 
100,-2,-3 

и т.д.

Regex regex = new Regex(@"\d,\d,\d"); 

Однако, я не думаю, что его принимает во внимание негативов?

пример строки, может быть

значение = {2,3,4}, значение2 = тест, значение3 = {- 13,0,0}, anothervalue = 234, nextvalue = {0,0, 2}

+0

Сколько номеров может быть в списке через запятую? –

+0

как выше, мне нужно только сопоставить для {\ d, \ d, \ d}, так что я хотел бы вытащить все совпадения этого шаблона из строки в массив строк? –

+0

Вы хотите совместить целую строку ИЛИ отдельные значения, например. value, value2 и т. д. – niksofteng

ответ

3

Согласно информации, предоставленной вами

чтобы включить отрицательные числа, Изменить регулярное выражение, как показано ниже:

Regex regex = new Regex(@"\-?\d,\-?\d,\-?\d"); 

включить более one unit цифр

Regex regex = new Regex(@"\-?\d+,\-?\d+,\-?\d+"); 
+2

Это будет соответствовать только цифрам-знакам – niksofteng

+0

@ w.b Возможно, вы правы, но я считаю, что экранирование символа не будет иметь эффекта, поэтому регулярное выражение все равно будет правильным. –

+2

Этот шаблон соответствует номерам вне диапазона 'int', например 9999999999 –

1

Вот еще один вариант, в дополнение к шаблону Waqar в.

-?\d[0-9]*,-?\d[0-9]*,-?\d[0-9]* 
+0

. Это не удается для простых тестовых случаев «1,2,3» и «-1, -2, -3'. –

+0

Извините, я думаю, я мог бы разместить с кодом, а не цитатой. Обновлено регулярное выражение. – niksofteng

0

\ d соответствует только один числовой персонаж

Regex regex = new Regex(@"-?\d+,-?\d+,-?\d+"); 
Смежные вопросы