2013-07-27 2 views
0

У меня есть строка на следующей схеме:Регулярное выражение, чтобы соответствовать шаблону «[strApp1] ... AppName = TestApp1 ...»

"[strApp1]\nvar1=111,221,21,800b0\nAppName=TestApp1\nlabel=Application1\nbackground=d1b4ad\n\n 
[strApp2]\nvar2=111,22,12,288b\nAppName=TestApp2\nlabel=Application2\nbackground=dd2s2\n\n 
[strApp3]\nvar3=222,322,22333\nAppName=TestApp3\nlabel=Application3\nbackground=ccc000\n\n" 

Это генерируется динамически, может пойти в любой длины повторяя строки шаблон.

Я хочу, чтобы две группы в моей коллекции результат:

[strApp1] 
[strApp2] 
[strApp3] 

и

TestApp1 
TestApp2 
TestApp3 

так что группа первой части string[strApp1] и AppName.

Я попробовал следующее регулярное выражение, но оно не приносит то, что мне нужно:

(?:\[(str[\w]+)+\])+(?:.+)+(?:AppName=([\w+]+)+) 

ответ

2
\[(?<app>.*?)].*?AppName=(?<name>.*?)\\n 
+0

Благодаря Деяна! Это отлично работает, когда я проверяю тег .NET regex в браузере, но то же самое, когда я вставляю свой код в Visual Studio, он ничего не соответствует !!!!? –

+0

Теперь он работает, нужно применить RegexOptions.Singleline. Благодаря! –