首页 > 解决方案 > 正则表达式匹配 CSS var

问题描述

我一直在尝试对 CSS 文件执行一些正则表达式,以仅使用 --vars 提取 var 函数(我需要仅将 var() 与 --vars 匹配(带有双连字符的变量) - 请参见示例 var(--button-border -width, --test) (1px, 44 - 不匹配,没关系)) 但我无法匹配关闭 ')'

例如测试字符串:

#ffff var(--button-border-width, 1px, 44, --test) ff var(--button-border-style, solid, 45) var(solid, --button-border-style, ad) #gggg 12345 (...not enclude)

测试字符串的预期匹配:

var(--button-border-width, --test)
var(--button-border-style,)
var(--button-border-style,)

我有正则表达式:

(var\(|(--.*?[\,\ \)]))

女巫比赛:

var(--button-border-width, --test) - ok
var(--button-border-style,         - need match close ')'
var(--button-border-style,         - need match close ')'

我假设只有在 'var(' 位于之前而不只是 '(' 位于) 时才需要使用 Positive Lookbehind (match close ')'

正则表达式101

标签: regexregex-group

解决方案


像这样的东西? var\(([a-z-0-9,\s]+)\)

正则表达式

您可以在此处找到有关此正则表达式的更多信息。

信息


推荐阅读