C/C++のコメントを取り除く
「どーせ提出されてくるプログラムなんて、誰かのコピーなんでしょ?」
とゆーことで
C言語のコメントを除去した上で、diff してコピーかどうか判断しようかなー
と、悪いことを考えてみたり。
さてさて、いったいどうやってC言語のコメントにマッチさせようか。。。
参考にしたのは当然この本。ってゆーか答え載ってますね。
- 作者: Jeffrey E.F. Friedl,田和勝
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2003/05/26
- メディア: 単行本
- 購入: 4人 クリック: 236回
- この商品を含むブログ (110件) を見る
あと、探してみたら
404 Not Found
にも記述がありますね。
で、実際のその正規表現は
s#/\*[^*]*\*+([^/*][^*]*\*+)*/|//[^\n]*|("(\\.|[^"\\])*"|'(\\.|[^'\\])*'|.[^/"'\\]*)#defined $2 ? $2 : ""#gse;
実にPerlらしくてスマート(?)
なんか、今回は完全に他力本願で解決しちゃいました(いつものことだけどー)