Вот мой шаблон регулярных выражений:
[A-Z][a-z]?-?([A-Z][a-z]?)?
Я хочу, чтобы это регулярное выражение соответствовало следующему:
A
Ab
Ef-G
Hi-Jk
F-Tk
F-D
Я отправляю это "M-F", и оно совпадает только с "F", я хочу, чтобы оно совпадало со всей строкой "M-F".
Вот мой код Java (но, надеюсь, вам не нужно его читать):
// Convert the daycode string into an array of daycodes
ArrayList<String> newDP = new ArrayList<String>();
Pattern regex = Pattern.compile("[A-Z][a-z]?-?([A-Z][a-z]?)?", Pattern.UNICODE_CASE);
Matcher regexMatcher = regex.matcher(dayPattern);
while (regexMatcher.find())
{
for (int i = 1; i <= regexMatcher.groupCount(); i++)
{
newDP.add(regexMatcher.group(i));
}
}
Помогите мне? Пожалуйста и спасибо.
Edit:
Мне также нужно, чтобы это масштабировалось так, чтобы при вводе:
MTu-ThFSa
Возвращает вывод:
["M", "Tu-Th", "F", "Sa"]