正規表現

【正規表現】CSS のコメント一括削除~複数行や前後の空白の削除にも対応!

【正規表現】CSSのコメント一括削除 - アイキャッチ

CSS のコメントを削除する正規表現

[\s\t]*/\*/?(\n|[^/]|[^*]/)*\*/

上記の正規表現で、CSS におけるコメントを全て指定することができます!

置換処理で空(から)と置き換えれば、コメントの全削除が可能です。

正規表現の解説

せっかくなので、CSS のコメントを削除する正規表現を分解して、一つ一つ解説したいと思います。

CSSコメント削除~正規表現ブロック分け

正規表現において各記号の示す意味がわからない方は 、正規表現一覧を参照しつつ、御覧ください!

1. [\s\t]*

CSSコメント削除~正規表現ブロック分け

①は、 CSS コメント直前の空白やインデントを指定する正規表現です。

この正規表現を日本語に訳して読むと、「【空白またはタブ】が0個以上 または 何もなし に該当」という意味になります。

CSSコメント削除~正規表現指定箇所1

2. /\*/?

CSSコメント削除~正規表現ブロック分け

②は、 CSS コメント開始を意味する「/*」を指定する正規表現です。

CSSコメント削除~正規表現指定箇所2

「*」(アスタリスク)は特殊記号なので、「\*」のようにバックスラッシュをつけて指定する必要があります。

最後についている「/?」は、「/*」の直後に「/」が書かれている場合に対応するため必要です(上記画像の17行目)。

3. (\n|[^/]|[^*]/)*

CSSコメント削除~正規表現ブロック分け

③は、 コメント内部の文字列を指定する正規表現です。

CSSコメント削除~正規表現指定箇所3

日本語訳は「【改行 または スラッシュ以外 または アスタリスク以外の直後のスラッシュ】が0個以上 に該当」です。

わかりにくいですね!
簡単に言うと、該当対象は「改行」「*/ 以外でのスラッシュ」「その他文字全部」の3種類です。

4. \*/

④は、CSS コメント終了を意味する「*/」を指定する正規表現です。

CSSコメント削除~正規表現指定箇所4

まとめ

CSS コメントを削除するには、以下のように記述します!

[\s\t]*/\*/?(\n|[^/]|[^*]/)*\*/

CSS コメントを削除したいときには、ぜひ使ってみてください!

COMMENT

メールアドレスが公開されることはありません。

CAPTCHA