我正在开发一个运行一系列正则表达式的程序,以尝试从网页中查找 DOM 中的日期。例如,在www.engadget.com/2010/07/19/windows-phone-7-in-depth-preview/中,我会将“Jul 19th 2010”与我的正则表达式匹配。在我打开阿拉伯语网页之前,多种格式和语言的情况都很好。例如,考虑http://islammaktoob.maktoobblog.com/。2010 年 7 月 18 日的日期以阿拉伯语显示在帖子的顶部,但我不知道如何匹配它。有人有匹配阿拉伯日期的经验吗?如果有人可以发布一个示例或他们将用来匹配该阿拉伯日期的正则表达式,那将非常有帮助。谢谢!
更新:
越来越近:
String fromTheSite = "كتبها اسلام مكتوب ، في 18 تموز 2010 الساعة: 09:42 ص";
NamedMatcher infoMatcher = NamedPattern.compile("(?<Day>[0-3]?[0-9]) (?<Month>يناير|فبراير|مارس|أبريل|إبريل|مايو|يونيو|يونيه|يوليو|يوليه|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر|كانون الثاني|شباط|آذار|نيسان|أيار|حزيران|تموز|آب|أيلول|تشرين الأول|تشرين الثاني|كانون الأول) (?<Year>[1-2][0-9][0-9][0-9]) ", Pattern.CANON_EQ).matcher(fromTheSite);
while(infoMatcher.find()){
System.out.println(infoMatcher.group());
System.out.println(infoMatcher.group("Day"));
System.out.println(infoMatcher.group("Month"));
System.out.println(infoMatcher.group("Year"));
}
给我
18 تموز 2010
18
تموز
2010
为什么匹配出现乱序?