0

ログファイルでJavaクラスの出現回数を見つけるためのプログラムを書いています。

Java クラスが呼び出された回数をカウントしたいと考えています。検索は「*.java」の形式である必要があります

これの正規表現を手伝ってくれる人はいますか?

4

1 に答える 1

0

十分な正規表現は、おそらく次のようになり[a-zA-Z_][a-zA-Z_0-9]*\\.javaます。この正規表現では、文字 (またはアンダースコア) で始まり、任意の数の文字または数字 (またはアンダースコア) が続く文字列が必要です。これは、Java クラス名の規則に従います。ピリオドは \\ で二重にエスケープされます -- 1 つのエスケープは、Java が文字列内の \ をエスケープするためであり、2 つ目は正規表現マッチャーがピリオドをエスケープするためです (それ以外の場合、ピリオドは「任意の文字」を意味する特殊文字です)。 .

.*\\.javaこの正規表現は、あなたが正確に要求したもの(.java の前に何かがあるもの)よりも少しうまくタスクに適合します。これは、「.java」の前の行全体に一致し、「クラス名」が残るためです。 「MyClass.java」だけでなく、「MyClass.javaからファイルを印刷する」のように。

Rubularのようなオンライン ツールでこの式を試して (そして変更を加えて) 試してみます。

于 2013-02-20T08:12:31.867 に答える