我有一个字符串“Mo-Sa 10:00-20:00”。我想得到两组。第一组是Mo-Sa,第二组是10:00-20:00。第一组只能包含一天,例如“Mo”。所以我认为我需要遵循正则表达式:([MTWFSouehrao-]{2,5}) ([0-9:-]{11})
。
我的Java代码是:
Matcher match = Pattern.compile("([MTWFSouehrao-]{2,5}) ([0-9:-]{11})").matcher("Mo-Sa 10:00-20:00");
if (match.matches() && match.find(1) && match.find(2)) {
String s = match.group(0); // -Sa 10:00-20:00
String s1 = match.group(1); // -Sa
String s2 = match.group(2); // 10:00-20:00
}
为什么第一组是“-Sa”而不是“Mo-Sa”?这没有意义......