Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > регулярное выражение


Автор: nmn 26.7.2010, 22:47
здравствуйте

есть строка содержащая пары вида \w+\s*=\s*"\w+" причем таких пар несколько и расположены они в произвольном порядке, мне необходимо вытащить из строки только пары с определенной левой частью, как это можно сделать одним регулярным выражением

есть такое выражение, но оно ловит только пары идущие подряд
Код

@"<input.*?(((value=(""|')(?<value>.*?)(""|'))|(name=(""|')(?<name>.*?)(""|')))\s*)+.*?/>"

Автор: wester 27.7.2010, 16:45
пример пар, которые необходимо пропускать и отлавливать.
так трудно все таки сказать 

Автор: nmn 27.7.2010, 20:52
sadaksdjaksjdhasd="12312jsdfksjdfsdf"   sdf="wewexxsfdf"                         sdfsdfsdfsdfs='sdfsdfsdfsdf'

как атрибуты в xml тегах

Автор: wester 27.7.2010, 21:26
sadaksdjaksjdhasd="12312jsdfksjdfsdf"   sdf="wewexxsfdf"     
вот это я так понимаю надо пропускать, а вот это
 sdfsdfsdfsdfs='sdfsdfsdfsdf' отлавливать?

если так то \w+='\w+'

Автор: nmn 28.7.2010, 12:54
нужно отобрать только некоторые пары по имени, т.е. есть например 10 пар из них только 5 с теми именами которое необходимо и вот из 10 пар 5 нужно отобрать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)