2014-07-11 8 views
-1

Я имею строку как этотразделить строку через регулярное выражение в C#

[website name] VARCHAR(50), [affiliate name] VARCHAR(128), [dynamite data lid] VARCHAR(50), 

Я хочу разделить это с помощью регулярного выражения в C# для

website name 
VARCHAR(50) 
affiliate name 
VARCHAR(128) 
dynamite data lid 
VARCHAR(50) 

Я не хочу дополнительную строку в начало моего решения

+0

где вопрос? – deW1

ответ

0

Try \[([\w\s]+)\]\s+(\w+\(\d+\)) Это будет соответствовать и собирать компоненты в группы, которые вы затем можете использовать.

1

совпадение вместо Разделительный

Используйте это регулярное выражение:

(?<=\[)[^\]]+(?=\])|\S+(?=,) 

В C#:

StringCollection resultList = new StringCollection(); 
try { 
    Regex myRegex = new Regex(@"(?<=\[)[^\]]+(?=\])|\S+(?=,|$)"); 
    Match matchResult = myRegex.Match(yourString); 
    while (matchResult.Success) { 
     resultList.Add(matchResult.Value); 
     matchResult = matchResult.NextMatch(); 
    } 
} catch (ArgumentException ex) { 
    // Syntax error in the regular expression 
} 
+0

Красиво сделано! +1 –

+0

Спасибо, Джон! :) – zx81

Смежные вопросы