前提・実現したいこと
C#のソース文字列をstringとして受け取って、何らかの方法を使ってコメントを除去したstringを返す関数を作ろうとしています。
現在は正規表現を使って実現出来ないかと検証をしているのですが、コメントの一部パターンが上手くいかないので助言頂きたく投稿しました。
@"(/*(?>[^*]|(*+[^*/]))**+/)|(//.*)"
上記の正規表現までは出来たのですが、これだと下記の要件の一部が満たせませんでした。
・行頭にある「//」での一行コメントの除去→OK
・行の途中にある「//」での一行コメントの除去→OK
・行頭から始まる「/* ~ /」での1行コメントの除去→OK
・行の途中にある「/ ~ /」での1行コメントの除去→OK
・行頭から始まる「/ ~ /」での複数行コメントの除去→OK
・行の途中にある「/ ~ */」での複数行コメントの除去→OK
・ダブルクォーテーションの中に含まれる「//」は文字列なので除去対象外とする→NG
正規表現やRoslyn、もしくはその他方法を使って上記要件を満たせる方法をご教授頂きたいです。

回答2件
あなたの回答
tips
プレビュー