Java 正则表达式未搜索字符串

Java 正则表达式未搜索字符串,java,regex,Java,Regex,我正在搜索此字符串包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); 但它并不是在所有文件中搜索相同的内容 我只是想

我正在搜索此字符串
包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);
但它并不是在所有文件中搜索相同的内容

我只是想知道它为什么表现出这种行为

退出反斜杠

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);
避开反斜杠

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);
只需使用
.indexOf()

另外,如果这确实是一个Java源文件,则不需要使用
模式。不区分大小写
:关键字和包名在Java中都区分大小写。

只需使用
.indexOf()


另外,如果这确实是一个Java源文件,不需要使用
模式。不区分大小写
:在Java中关键字和包名都区分大小写。

我放置\\以转义'。感谢它没有搜索内容,因为包名中有制表符和双空格。我放置\\以转义'。感谢它没有搜索内容,因为我们在包名中有制表符和双空格。它没有搜索内容,因为我们在包名中有制表符和双空格。!!!Thanksit没有搜索内容,因为我们在包名中有制表符和双空格。!!!谢谢
indexOf()
将无法工作,因为我们不知道需要哪些/多少空白字符,因此您必须使用
Matcher.find()
。但是
split()。根据OP的评论,这确实是问题所在。
indexOf()
不起作用,因为我们不知道需要多少空白字符,所以您必须使用
Matcher.find()
。但是
split()。根据OP的评论,这确实是个问题。