私は与えられたファイル内のすべてのコメントを見つけるためにregexを書こうとしています。私が処理する必要がありますコメントは、私はいくつかの場所で検索し、いくつかの答えを見つけたようにすべてのコメントにマッチする正規表現//、/ * */
/* comments.
is multiline comment*/
または
// one liner comment.
としてmultyline commnesです。 (one answer)と私は私のニーズのほとんどに答える何かを書くために管理:
(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|//.*\n?)
それは、文字列の中にコメントをキャッチする私のコードが間違っている唯一のもの。例えば
String str = " hey, // I'm not a comment "
私のコードは、「私はないコメント」を得るが、それはいけません。 私はnegativelookaheadやlookbehindなどのいくつかのことを試しましたが、何も動作していないようです。
私は何をしたいのですか?/ ありがとうございます。
編集: 私が使用している言語は(など、考慮にネストされたコメントを取ること)ではなく、パーサーを使用することを検討して、一般のpython
この場合、pythonタグを質問に追加してください。 –
正規表現を使用してプログラミング言語を解析しないでください。ご存知のように、正規表現ではこれを行うことができません。これは厳しい制限です。回避策はありません。とにかくそれを実行しようとするすべてのソリューションは間違っています。 – Tomalak