2013-05-12 2 views
-4

Какое будет регулярное выражение для рисунка, такого как 4,1,66,11,2,77,25,2,99,4,5Какое будет регулярное выражение для рисунка, такого как 4,1,66,11,2,77,25,2,99,4,5?

Я использую элементы проверки .NET.

+1

Можете ли вы объяснить, в более общем плане, что ваш желаемый рисунок должен выглядеть? – Juampi

+1

Мало того, что шаблон неясен, инструмент, который вы пытаетесь использовать, не предназначен для создания/проверки таких серий. – dotNET

+0

Я просто хочу, чтобы там было b целых чисел min 1 и max 4 digit (1,24,2,464,746,12,3488,3) с запятой, разделяющей их. –

ответ

0

Следующее выражение (.net) соответствует всей строке: "(\\d+,)*". С помощью подвыражений вы также можете сопоставлять цифры: "((\\d+),)*" (самая внутренняя группа захвата содержит номер).

Редактировать: В том числе решения @metadings для полноты:

Чтобы соответствовать любому количеству цифр между запятой (в примере между 1 и 4) использовать фигурные скобки:
"((\\d{1,4}),)*".

+0

необходимо внести некоторые изменения в это (\ d +,) * (\ d +) Принимает результат с 2324324324,45343224,523434,523434,33424 , но я хочу, чтобы длина этого номера не была большой, чем четыре. like 232,3,3434,1,53 –

+1

@MuhammadShariqIqbal Добро пожаловать в StackOverflow. Этот ответ правильный, поэтому, пожалуйста, подумайте о его принятии. Вы не указали дополнительное требование в своем OP. То, что вы, наконец, ищете, - '((\\ d {1,4}),) *'. – metadings

+0

Спасибо :) и я нашел свое решение с ((\ d {1,4}),) * (\ d {1,4}) –

0

Почему вы делаете две группы с \d в вашей итоговой схеме ((\d{1,4}),)*(\d{1,4}), попробовать что-то вроде этого:

(\d+,?) 

или ограничить количество цифр, чтобы захватить как:

(\d{1,4},?) 

Это сделает группы, такие как:

"1,", "4," .... и т.д.

Если вы хотите исключить , взять его за пределы групп, как:

(\d+),? 

ИЛИ

(\d{1,4}),? 
+0

Итак, строка '1,' должна считаться действительной? – svick

+0

@svick, нет, вот почему предлагается последний шаблон. Образец, принятый пользователем, также захватывает группу вместе с запятой, и четко не задокументировано, что если эта группа не была взята или использована с некоторой функцией TRIM в коде. – NeverHopeless

+0

потому что я хочу закончить его цифрой не с запятой, поэтому я сделал две группы с \ d –

Смежные вопросы