我做了一个正则表达式并和关于芬德尔():
SELECT.*{(?:\[([a-zA-Z0-9 ]*)\]\.\[([a-zA-Z0-9 ]*)\]\.\[([a-zA-Z0-9 ]*)\][,]{0,1}){1,}}.*
要匹配这些字符串列表:
["dimSales","Product Title","All"], ["test","Product Title","All"]
大海捞针:
SELECT NON EMPTY Hierarchize({DrilldownLevel({[dimSales].[Product Title].[All],[test].[Product Title].[All]},,,INCLUDE_CALC_MEMBERS)}) DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS FROM [Model] CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
我的正则表达式只匹配外部捕获组的最后一次迭代
["test","Product Title","All"]
我需要改变什么关于芬德尔()返回所有迭代。不仅仅是外捕获组的最后一次迭代?你知道吗
这个正则表达式呢:
演示:
https://regex101.com/r/LaddaK/2/
解释:
()
用于创建捕获组,如果不需要,可以删除\[\"[^\"]*\",\"[^\"]*\",\"[^\"]*\"\]
要匹配开括号,请按字面顺序后跟双引号、0到N个非双引号字符([^\"]*
),后跟双引号和逗号。如果要接受逗号周围的空格字符,则可能必须将所有逗号用\s*
括起来。你知道吗\"[^\"]*\"
,以匹配括号中的前3个单词(根据字符串的确切约束,可能需要调整为\w*
)。你知道吗,\s*
之后重复整个块[\"[^\"]*\",\"[^\"]*\",\"[^\"]*\"\]
,以接受由两个方括号块组成的整个模式。你知道吗备注:
您可能希望用锚(
^
和$
)包围regex更改要求后编辑:
输出:
输出:
说明:
相关问题 更多 >
编程相关推荐