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的评论,这确实是个问题。