在c#中通过正则表达式拆分字符串

本文关键字:正则表达式 拆分 字符串 | 更新日期: 2023-09-27 18:12:41

我有一个像这样的字符串

[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)

我不想在我的解决方案的开始额外的行

在c#中通过正则表达式拆分字符串

匹配全部而不是分割

使用这个正则表达式:

(?<='[)[^']]+(?='])|'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
}

尝试'[(['w's]+)']'s+('w+'('d+')),这将匹配并捕获组件到您可以使用的组