2010-08-11 3 views
1

мне нужен .NET Regex, который извлекает «поле» и значения «ширина» в следующей строке:Конкретная .NET Regex Помощь

<element 
    attribute='{field}' 
    attribute='{field,}' 
    attribute='{ field }' 
    attribute='{ field, 0 }' 
    attribute='{field,0}' 
    attribute='{ field, 10 }' 
    attribute='{field,10}' 
    attribute='{ field, 100 }' 
    attribute='{field,100}' 
/> 

мне нужно, чтобы захватить все между {и} символов затем извлечь поле и ширина. Ширина - это все между символами и}. Если нет, символ, тогда ширина равна Null/Nothing.

+0

Почему бы нет в этом случае использовать Linq для XML? – kbrimington

+0

Мне неизвестно, как я могу использовать Linq для Xml. Мне нужно выполнить вызов метода для каждого совпадения. Будет ли это иметь значение? Можете ли вы привести пример? – AMissico

ответ

2
@"\{\s*(?<field>\w+)\s*(,\s*(?<width>\d*)\s*)?\}" 

Использование: Использование Regex.Matches и извлечь группы из каждого

Edit: Вы можете добавить статический текст в выражении тоже, но что бы сделать это сложнее "читать ИМО.

+0

Отлично, спасибо. – AMissico