1

特定のディレクトリ内のさまざまな種類のソース ファイルのコメントを識別する必要があります。(たとえば、Java、XML、JavaScript、bash)。これを Python を使用して行うことにしました (Python を学習する試みとして)。私が持っている質問は

1) これを行うには、Python について何を知っておく必要がありますか? (正規表現が役立つという考えはありますが、有用な代替/他のモジュールはありますか?これを行うために使用できるライブラリはありますか?)

2) Python はそのようなタスクに適していますか? 他の言語でこれを簡単に達成できますか?

4

3 に答える 3

5

あなたの問題は、プログラミング言語の解析に関連しているようです。正規表現を使用すると、ほとんどの言語でコメントを見つけることができると思います。良いことは、Perl、Python、Ruby、AWK、Sed など、ほぼすべての場所で正規表現を使用できることです。

しかし、他の答えが言ったように、いくつかの解析機構を使用することをお勧めします。そして、本格的なパーサーではないにしても、レクサーです。Python の場合は、多くの言語のレクサーが既に実装されているPygmentsライブラリを確認してください。

于 2012-04-06T17:26:11.010 に答える
2

このpyparsingモジュールは、いくつかのスタイルのコメントを直接サポートしています。例えば、

from pyparsing import javaStyleComment
for match in javaStyleComment.scanString(text):
    <do stuff>

ですから、あなたの目標が仕事を終わらせることだけなら、これを調べてください。コメント パーサーは、一緒に投げるどのパーサーよりも堅牢である可能性が高いからです。あなたが自分でそれを行うことを学ぶことにもっと興味があるなら、これはあなたの好みには加工食品が多すぎるかもしれません.

于 2012-04-07T12:52:37.230 に答える
2

1) 知っておくべきことは、正規表現ではなく解析です。さらに、os モジュールと pythons ファイル処理に関する知識が必要になります。DiveIntoPython (http://www.diveintopython.net/) は、ここから始めるのに適しています。私は第6章をお勧めします.(そしておそらく1-5も:))

2) Python は良い出発点です。別の言語はそれを簡単にするつもりはありませんが、違います。Python はすでに非常に簡単に始めることができます。

コメント記号や改行を検索するのと同じくらい簡単なので、タスクに正規表現を使用しないことをお勧めします。

于 2012-04-06T17:24:12.903 に答える