Gee*_*ene 0 java matcher java-date
在我的帮助器类中,我从日志文件中提取键字符串.在那里我搜索一个日期和子串的文本.问题是当我包括该日期包括使用java日期的短语时,硬编码的日期以不同的方式起作用.
代码段:
BufferedReader br = new BufferedReader(new FileReader("/developer.log"));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
}
String second = sb.toString();
String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = "]"+simpleDateFormat.format(new Date());
Matcher m2 = Pattern.compile("^(.*)date(.*)$").matcher(second);
if (m2.find()) {
String keyPrefix = "Bearer ";
key = keyPrefix + m2.group(1);
}
}
br.close();
return key;
Run Code Online (Sandbox Code Playgroud)
该date变量不会返回模式匹配,但是当我对字符串进行硬编码时]2019-03-01它会起作用.这可能是什么问题?提前致谢.
您匹配固定模式"日期".
要与创建的日期字符串匹配,您必须创建匹配器:
Matcher m2 = Pattern.compile("^(.*)"+date+"(.*)$").matcher(second);
Run Code Online (Sandbox Code Playgroud)