正则表达式不是搜索字符串

时间:2013-08-06 08:03:05

标签: java regex

我正在搜索此字符串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);

但它并没有在所有文件中搜索相同内容。

我只是想知道为什么会出现这种行为。

2 个答案:

答案 0 :(得分:3)

只需使用.indexOf()

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

此外,如果这确实是一个Java源文件,则不需要Pattern.CASE_INSENSITIVE:Java中的关键字和包名称都区分大小写。

答案 1 :(得分: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);