我有这样的sql命令:
CREATE TABLE Tablex(
column1 INT,
column2 TEXT,
column3 INT,
column4 INT,
)
此CREATE命令只是一个示例,可以自由选择列的名称。如何在C#中通过Regx提取列名称?
答案 0 :(得分:2)
我的猜测是我们希望捕获column1和其他类似的列,此表达式可能会这样做:
\s*(.+?)\s+[A-Z]+,
,如果它总是总是从右到[A-Z]+,
的边界。
其他选择是在,
之后和我们想要的列之前添加一个空格:
\s+(.+?)\s+[A-Z]+,?\s
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"\s*(.+?)\s+[A-Z]+,";
string input = @"CREATE TABLE Tablex(
column1 INT,
column2 TEXT,
column3 INT,
column4 INT,
)
";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
答案 1 :(得分:0)
这是另一种选择。我不喜欢难以维护的复杂正则表达式:
onclick