私は典型的な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
ます。
何をすべきか?