Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,133
Записей в блоге: 6
1
.NET 4.x

Регулярные выражения, повторяющаяся группа

27.03.2012, 12:26. Показов 2395. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Народ, вопрос, по-быстрому, для тех кто разбирается.
Интернет перерыл - не нашел.
В регулярках есть такая фишка, именованая группа:
Код
(?<name> .... )
Все бы хорошо, если она у нас одна на выражение, получаем так:
C#
1
2
Match m = ...
m.Groups["name"]
Но вот вопрос - что делать, если их несколько? Примерно так:
Код
(?<name> .... )(?<name2> .... )+
группа name2 в общем случае встречается много раз, а получение через Groups["name2"] возвращает только первую. Что делать, как получить все?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2012, 12:26
Ответы с готовыми решениями:

Регулярные выражения - вывод сообщения об ошибке при нахождении в строке выражения, начинающегося с цифры
Нужно чтобы при нахождении в строке выражения начинающегося с цифры появлялось сообщение об...

Регулярные выражения
Есть тект в стедующем формате: Вопрос в одну или две строки. Обязательно заканчивается '?'....

Регулярные выражения в C#
Здравствуйте уважаемые программисты, я столкнулся с задачей нужно написать регулярное выражение,...

Регулярные выражения
Помогите пожалуйста не работает проверка...как показано ниже есть две строки в которых может быть...

4
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
27.03.2012, 13:07 2
Цитата Сообщение от dondublon Посмотреть сообщение
Что делать
Не использовать именованные группы для того, для чего они не предназначены.
Или называйте каждую группу отдельным именем, или получайте совпадение по номеру группы, а не по имени.
0
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,133
Записей в блоге: 6
27.03.2012, 13:20  [ТС] 3
А как делать по номеру, чтобы не перепутать с другим нумерованным набором?
Код
(?<name> .... )(?<name2> .... )+(?<name3> .... )+
если заменить name2 и name3 на номера - спутаются же?
0
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
27.03.2012, 13:27 4
GroupCollection.Item Property (Int32)

Код
(.*[a-z])
C#
1
m.Groups[1]
0
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,133
Записей в блоге: 6
27.03.2012, 13:39  [ТС] 5
Их много, а не одна.
Нашел сам, у группы есть Captures. То, что надо.
1
27.03.2012, 13:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2012, 13:39
Помогаю со студенческими работами здесь

Регулярные выражения в c#
Здравствуйте уважаемые программисты вот передо мной стоит задача написать регулярное выражение,...

Регулярные выражения
Помогите пожалуйста найти последний плюс, минус, умножить, разделить, Не могу понять как это...

Регулярные выражения
string pattern = @&quot;&quot;; Regex regex = new Regex(pattern); if (richTextBox.SelectionStart != 0) { ...

Регулярные выражения
Как при помощи регулярных выражений найти в строку нужные символы. Удалить нужные символы.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru