/*
と*/
の間のすべてを削除するには、/**/
を含むC#正規表現が必要です。 したがって、基本的には、指定されたテキスト内のすべてのコードコメントを削除します。C/C#コメントを削除するために正規表現が必要
var regex = new Regex("/\*((?!\*/).)*\*/", RegexOptions.Singleline);
regex.Replace(input, "");
/*
と*/
の間のすべてを削除するには、/**/
を含むC#正規表現が必要です。 したがって、基本的には、指定されたテキスト内のすべてのコードコメントを削除します。C/C#コメントを削除するために正規表現が必要
var regex = new Regex("/\*((?!\*/).)*\*/", RegexOptions.Singleline);
regex.Replace(input, "");
は次のようなものであるべき。コメントはSQLのように入れ子にすることができれば、基本的な正規表現は、このように見えるように起こっている:あなたは何を剥ぎ取りませんしているまで、あなたは、ループする必要があります
/\*.*?\*/
。
対照的に、最初のコメント終了*/Cのように、あなたは否定先読みで、それは貪欲必要がある、場合:
/\*((?!\*/).)*\*/
コメントを入れ子にすることができることを警戒してください:
私はまた、フォーム
と行のコメントを無視する必要ました// blablabla
だから、誰かがまた、最後の部分を追加することにより、正規表現を変更し、これが必要な場合のために|(//.*)ので、完全な形は次のようになります。
(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)
本当にそのための正規表現は必要ありません。 –
だから何が問題なのですか? – Reniuz
そう簡単ではありません。あなたのコードには "This:/ * boo */not no comment"のような文字列を入れることができます。 – Jens