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 源文件,则不需要Pattern.CASE_INSENSITIVE: 在 Java 中关键字和包名都区分大小写。

于 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 回答