我有从SQL Analysis Services(扩展事件)中捕获的数百个MDX查询。
它们看起来像这样:
SELECT {[Measures].[ Count - Sales],[Measures].[ Count - Customers],[Measures].[Revenue]} DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS , NON EMPTY Hierarchize(DrilldownMember({{DrilldownMember({{DrilldownLevel({[DimDate].[Calendar Date].[All]},,,INCLUDE_CALC_MEMBERS)}}, {[DimDate].[Calendar Date].[Calendar Year].&[2014],[DimDate].[Calendar Date].[Calendar Year].&[2015],[DimDate].[Calendar Date].[Calendar Year].&[2016],[DimDate].[Calendar Date].[Calendar Year].&[2017],[DimDate].[Calendar Date].[Calendar Year].&[2018],[DimDate].[Calendar Date].[Calendar Year].&[2013]},,,INCLUDE_CALC_MEMBERS)}},
我需要写一点c#来提取数据:
[Measures].[ Count - Sales]
[Measures].[ Count - Customers]
[Measures].[Revenue]
[DimDate].[Calendar Date].[All]
[DimDate].[Calendar Date].[Calendar Year]
等等。
我不在乎是否有重复会员。
我可以相信范围是: [措施]秒] [转至第二或第三]
我倾向于使用Regex提取数据:
关于正则表达式的任何想法都可以捕获以上元素?
答案 0 :(得分:1)
这应该有效:
\[[^\]]+\]\.\[[^\]]+\](\.\[[^\]]+\])?
说明:
\[[^\]]+\]
-打开方括号,直到右方括号,再将方括号括起来(让我们将其称为括号)。
其后是圆点和另一个括号。点号和括号的最后一部分是可选的。