正则表达式模式[TableName]。[FieldName]

时间:2014-09-16 12:38:34

标签: c# regex string

我有一个计算字段的字符串,其中包含字段,运算符,函数等。 我需要从这个字符串中提取字段。字段的格式为:[TableName]。[FieldName],其中TableName和FieldName mai包含空格。 我解决了TableName和FieldName的问题,没有带正则表达式的空格:

    List<string> fieldsFound = new List<string>();
    string pattern = @"\[(\w*)(\])(\.)(\[)(\w*)(\])";
    foreach (Match match in Regex.Matches(formula, pattern))
    {
        fieldsFound.Add(match.Value);
    }

所以,我需要一个可以在TableName和FieldName中使用空格的模式。 谢谢!

1 个答案:

答案 0 :(得分:2)

\w\s放入字符类中,以匹配单词和空格字符。

\[([\w\s]*)(\])(\.)(\[)([\w\s]*)(\])

DEMO

如果您不想捕获[]内的前导空格,

,请使用以下正则表达式
\[\s*([\w\s]*?)\s*\]\.\[\s*([\w\s]*?)\s*\]

DEMO