Web 系
CSS
【正規表現】CSS のコメント一括削除~複数行や前後の空白の削除にも対応!
02/27/2019
CSS のコメントを削除する正規表現
[\s\t]*/\*/?(\n|[^/]|[^*]/)*\*/
上記の正規表現で、CSS におけるコメントを全て指定することができます!
置換処理で空(から)と置き換えれば、コメントの全削除が可能です。
正規表現の解説
せっかくなので、CSS のコメントを削除する正規表現を分解して、一つ一つ解説したいと思います。
正規表現において各記号の示す意味がわからない方は 、正規表現一覧を参照しつつ、御覧ください!
1. [\s\t]*
① は、 CSS コメント直前の空白やインデントを指定する正規表現です。
この正規表現を日本語に訳して読むと、「【空白またはタブ】が0個以上 または 何もなし に該当」という意味になります。
2. /*/?
② は、 CSS コメント開始を意味する /*
を指定する正規表現です。
「*」(アスタリスク)は特殊記号なので、「\*」のようにバックスラッシュをつけて指定する必要があります。
最後についている「/?」は、「/*」の直後に「/」が書かれている場合に対応するため必要です(上記画像の 17 行目)。
3. (\n|[^/]|[^*]/)*
③ は、 コメント内部の文字列を指定する正規表現です。
日本語訳は「【改行 または スラッシュ以外 または アスタリスク以外の直後のスラッシュ】が0個以上 に該当」です。
わかりにくいですね!
簡単に言うと、該当対象は「改行」「*/ 以外でのスラッシュ」「その他文字全部」の3種類です。
4. */
④ は、CSS コメント終了を意味する */
を指定する正規表現です。
まとめ
CSS コメントを削除するには、以下のように記述します!
[\s\t]*/\*/?(\n|[^/]|[^*]/)*\*/
CSS コメントを削除したいときにはぜひ使ってみてください!1
- 記事を作ってから思いましたが、CSS コメントを削除したいときなんてそうそうないような……↩