私はCSSファイルから規則のを抽出する正規表現を見つけようとしています。スタイル宣言、単にルール(セレクタ)は必要ありません。私は私の正規表現は、次の項目と一致することを期待する。この例ではRegExはCSSファイルからセレクタのみを抽出しますか?
body, p, table, td, th, br, div, span {
/* Some styles here */
}
/* This is a test */
h1 {
/* Some styles here */
}
a:hover {
/* Some styles here */
}
-moz-any(input[type="text"], input[type="radio"]) {
/* Some styles here */
}
:ボディ、P、テーブル、TD、目、BR、DIV、スパンを、H1ここで私が働いているサンプルのCSSファイルです、a:hover、-moz-any(入力[type = "text"]、入力[type = "radio"])
これは私の正規表現の試みです。それが動作する間、/ *これはテスト* /コメントであり、中括弧も含みます。理想的にそれらは省略されるでしょう。
(}{0,})([^}]*)({)
これについてのお手伝いがあれば、大歓迎です。事前に多くの感謝!
これは素晴らしいCSSファイルではないことにご理解ください。それは単に私が解析をテストするために思いついたテストファイルです。
ように、そのマークされますが、あなたが適切なパーサーを使用してオフに優れている、複雑です。 – Qtax
4つのこと:1)ルールとセレクタは同じものではありません。あなたはセレクタだけを探しています。 2) ':-moz-any()'は擬似クラスなので、その前に ':'が必要です。 3)正規表現をどの言語で実装していますか? JavaScript正規表現の場合、関連する用語でこのサイトを検索できる既存の質問があります。 4)より複雑なスタイルシートで作業すると、正規表現で非常に遠くになることはないでしょう。 – BoltClock
ボルト - 私の用語が間違っている可能性があることを理解しています。私は決してCSSの専門家ではありません。私は-mozを知りませんでした。いずれにしても、私はそれをつかみたいと思う。また、私はC#でこれを実装しています。 Qtax - RegExがこれを複雑にする原因は何ですか?私のRegEx-Fooは本当に悪いです:) –