我有一个典型的 CSS 文件格式:
.success {
color: #8FA442;
border: 1px solid #C2D288;
}
.error {
color: #b3696c;
border: 1px solid #f7c7c9;
}
我想匹配每个样式名称和 {} 中的内容。我得到了 {} 部分,并且能够轻松解析内容,但是,问题是样式名称可以是数组(例如#contactform .input, .textarea
),我想捕获整个内容,实际上是前一个结束 } 中的所有内容。
我尝试过的是不同的变体
m/\}(.+)(\{.+?\})/g
但这会抓住整个文件。如果我做
$doc =~ m/(\w+)\s+(\{.+?\})/g
捕获每个样式 {} 很好,但只捕获名称的最后一个标记,因此对于#contactform .input, .textarea
,它只会捕获.textarea
.
该怎么办?