2010-11-24 7 views
0

私は人間が判読できるように、縮小されたCSSファイルを拡張しようとしています。 私は拡大の大部分を終わらせることができましたが、私は理解できない非常に奇妙な場合に立ち往生しています。私は交換するなどの検索など(.+):(.+);\t\1: \2;\nを試してみたRegExを使用して個々のCSS属性を一致させるには

.innerRight { 
border:0;color:#000;width:auto;padding-top:0;margin:0; 
} 
a { 
color:#000;text-decoration:underline;font-size:12px; 
} 
p,small,ul,li { 
color:#000;font-size:12px;padding:0; 
} 

私はこのようになりますCSSを持っています。 RegExの検索は有効ですが、唯一の問題は属性の行全体に一致することです。私は貪欲でないキャラクターを試しましたが、正しい場所に置いてはいけません。上記は、正規表現が一致した見つける何

は次のとおりです。

0: border:0;color:#000;width:auto;padding-top:0;margin:0; 
1: color:#000;text-decoration:underline;font-size:12px; 
2: color:#000;font-size:12px;padding:0; 

ものは技術的に正しいの試合ですが、私は私は仕事に置き換えるために、それは別にborder:0;color:#000;、などと一致する必要があります。

+0

どのようなプログラミング言語でこれをやっていますか? –

+1

各セミコロンの直後に改行を挿入し、コンテキストを無視するだけでは簡単ではないでしょうか。あるいは、文字列の中でeaxmpleのセミコロンで動作する一般的な解決策が必要ですか(CSSではほとんどありません)? – RoToRa

+0

';'を置き換えます。 '; \ n \ r' ...プログラミング言語ですか? –

答えて

3

これを試してください。貪欲でない一致を試してください。これは私のために働く

(.+?):(.+?); 
+0

これはまさに私が探していたものです。 –

0

コロンを忘れてしまった。すべてのセミコロンを "; \ n"に置き換えてください。 JavaScriptで

は、例えば、あなたが書くことができます:

text = text.replace(/;/gm,";\n"); 

を私はさらに、大手・スペースの問題に対処することを改良などが、これは、独自のライン上のすべてのスタイルルールを置くでしょう。

+0

コメント、URL、または文字が含まれていない場合にのみ、これを実行します。 ';'の後ろに改行がないかどうか確認したいかもしれません。 – Gumbo

+0

@Gumbo:True。私はマクロを投稿するべきです。これはすべてこの書式設定を行い、一度私はオフィスに入るでしょう。 – Robusto