2014-07-11 27 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

尝试\[([\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