我有一个像这样的字符串
[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 :(得分: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
}
答案 1 :(得分:0)
尝试\[([\w\s]+)\]\s+(\w+\(\d+\))
这将匹配并将组件捕获到您可以使用的组中。