Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярное выражение, исключить значение 
:(
    Опции темы
Springtime
Дата 20.3.2010, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 25.10.2006
Где: Россия, Тюмень

Репутация: 0
Всего: 2



Всем привет!
Помогите пожалуйста составить регулярное выражение.
Есть строка вида: 63-99,1,4,53,414,8,6,6-22,3,7
необходимы значения, строки: 1,4,53,414,8,6,3,7 (\d+)
при этом исключить: 63-99,6-22 (\d+(-)+\d+)

никак не могу понять как исключить значения.
--------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2
PM MAIL ICQ   Вверх
Heinzz
Дата 20.3.2010, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

Репутация: 5
Всего: 9



Код

Regex r = new Regex(@"\d+-\d+");
MatchCollection coll = Regex.Matches(r.Replace(input, ""), @"\d+"); ;

на мой взгляд, проще сначала исключить неверные варианты

Это сообщение отредактировал(а) Heinzz - 20.3.2010, 21:46


--------------------
user posted image
PM MAIL   Вверх
diadiavova
Дата 22.3.2010, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Код

(?<![\d-])\d+(?![\d-])



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Springtime
Дата 22.3.2010, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 25.10.2006
Где: Россия, Тюмень

Репутация: 0
Всего: 2



Спасибо большое.
--------------------
ICQ: 1fe410f46e7f48f6c721bc866d8294a2
PM MAIL ICQ   Вверх
Heinzz
Дата 25.3.2010, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

Репутация: 5
Всего: 9



Цитата(diadiavova @ 22.3.2010,  01:38)
Код

(?<![\d-])\d+(?![\d-])

блин, не могу понять как оно работает smile Если не трудно...


--------------------
user posted image
PM MAIL   Вверх
diadiavova
Дата 25.3.2010, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Оно находит те последовательности из цифр, вокруг которых нет последовательностей, состоящих из цифр и тире. Если сделать так
Код

(?<![-])\d+(?![-])
то к примеру из последовательности 63-99(которую надо игнорировать) таки будут выделены цифры 6 и последняя 9. Тройка и первая девятка, будут исключены из-за того, что рядом с ними тире, но крайние цифры будут распознаны, а если сделать как я показал, то они тоже будут исключены, из-за того, что рядом с ними последовательности из цифр и тире. А вот просто последовательности цифр отработают нормально. smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0896 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.