0

すべての css 定義を「test」という名前と color:gray に一致させる必要があります。例えば:

a.test { color:grey; } だけでなく、 .test { color:grey;} またはa.test:affter, a.test { font-size: 10px; color: gray;}

そのため、複数\s\r\nの他のものを処理する必要があります。

私がすでに得たもの:

test(\s|\r|\n|[:a-zA-Z()0-9])*\{([a-zA-Z:,\s\n\r-0-1;]*)color[\s\n\r:]*gray([a-zA-Z:,\s\n\r-0-1;]*)\}

しかし、いくつかの場所では機能していません: http://regexr.com?32191

助けてください :)


@nhahtdhからの解決策、私に最適

\.test[:a-zA-Z()0-9\s.,]*\{[a-zA-Z:,\s0-1;-]*color[\s:]*gray([a-zA-Z:,\s0-1;-]*‌​)\}

4

2 に答える 2

0

私はかなり単純なものを作りました:

[^{]*\.test(?:{|[ :.][^{]*{)[^}]*color[ \n\r]*:[ \n\r]*gray *;[^}]*}

これは仕様と一致するはずですが、CSS エラーは検出されません。

http://regexr.com?321ah

于 2012-09-03T13:37:27.680 に答える
0

この正規表現は、テスト ケースと一致します。

[^\r]*\.test(\s|\r|\n|[:a-zA-Z()0-9])?[^{]*\{([a-zA-Z:,\s\n\r-0-1;]*)color[\s\n\r:]*gray([a-zA-Z:,\s\n\r-0-1;]*)\}

http://regexr.com?32197

ただし、問題はもっと複雑です。URL、フィルターなど、さまざまなコンテキストで任意の文字が含まれている可能性があります。これらの非常に特殊なケースのみを照合する必要がある限り、それは機能するはずです。

于 2012-09-03T13:35:18.977 に答える