我有一个简单的程序,我试图用正则表达式匹配Date和String。这是我的计划Java正则表达式不匹配
Pattern r = Pattern.compile("((?:january|february|march|april|may|june|july|august|september|october|november|december)\\s*\\d{1,2}\\,\\s*\\d{4})\\s*\\|\\s*UPDATED", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
String textRegion = "<span>India Today Online</span>"
+ " New Delhi, October 28, 2013 | UPDATED 11:42 IST "
+ "</div>";
Matcher m = r.matcher(textRegion);
if (m.find()) {
System.out.println("Matched");
} else {
System.out.println("Not Matched");
}
但是当我运行这个程序显示“不匹配”但是,当我试图在http://gskinner.com/RegExr/同样的事情,它让我看到匹配的字符串。请帮助我了解我错在哪里。
我正面临有趣的问题。我有两个部分我的程序首先显示不匹配,而第二部分显示匹配。第一部分我从文本文件中复制了一个字符串。我无法理解这个问题。
String textRegion = "<span>India Today Online</span>"
+ " New Delhi, October 28, 2013 | UPDATED IST"
+ "</div>";
Pattern r = Pattern.compile("((?:january|february|march|april|may|june|july|august|september|october|november|december)\\s*\\d{1,2}\\,\\s*\\d{4})\\s*\\|\\s*UPDATED", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
System.out.println(textRegion);
Matcher m = r.matcher(textRegion);
if (m.find()) {
System.out.println("Matched");
} else {
System.out.println("Not Matched");
}
Pattern r1 = Pattern.compile("((?:january|february|march|april|may|june|july|august|september|october|november|december)\\s*\\d{1,2}\\,\\s*\\d{4})\\s*\\|\\s*UPDATED", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
String textRegion1 = "<span>India Today Online</span>"
+ " New Delhi, October 28, 2013 | UPDATED IST"
+ "</div>";
Matcher m1 = r1.matcher(textRegion1);
if (m1.find()) {
System.out.println("Matched");
} else {
System.out.println("Not Matched");
}
有趣的部分是,如果你将从这里复制程序它的工作对我来说也很好。
即使我在运行代码时得到了*匹配*。你确定它显示*不匹配*吗? – SudoRahul
运行代码时,我也收到了“匹配”消息。你可能比你想象的要少。 ;) – Henrik
你不需要转义逗号作为'\\,' – anubhava