1

この文字列を検索していますpackage com.

これがコードです

Pattern l_pattern = Pattern.compile("package com\\.",Pattern.CASE_INSENSITIVE);
String l_entireFile=readEntireFile(p_filePath.toString());
String l_spiltCommentString []  =   l_pattern.split(l_entireFile);

しかし、すべてのファイルで同じように検索しているわけではありません。

なぜこの動作を示しているのか知りたいだけです。

4

2 に答える 2

3

使用するだけ.indexOf()です:

l_entireFile.indexOf("package com.") != -1

また、これが実際に Java ソース ファイルである場合は、必要はありません。Java ではPattern.CASE_INSENSITIVE、キーワードとパッケージ名の両方で大文字と小文字が区別されます。

于 2013-08-06T08:07:41.177 に答える
2

バックスラッシュをエスケープします。

Pattern l_pattern = Pattern.compile("package com\\\\.",Pattern.CASE_INSENSITIVE);

アップデート

正規表現を使用する必要はありません。

String l_spiltCommentString []  = l_entireFile.split("package com.");

パッケージ名にスペースが含まれています

次のパターンを使用します。

Pattern l_pattern = Pattern.compile("package\\s+com\\.",Pattern.CASE_INSENSITIVE);
于 2013-08-06T08:03:46.067 に答える