I'm trying to use regex group into a Java regex.
Regex
boolean res = (frequency.matches("\\[((DAY (3[01]|[12][0-9]|[1-9]))|(EVERY DAY)|(EVERY (MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY|SUNDAY))|(ONLY MONTH (JANUARY|FEBRUARY|MARCH|APRIL|MAY|JUNE|JULY|AUGUST|SEPTEMBER|OCTOBER|NOVEMBER|DECEMBER) \\[((?2)|(?4)|(?5))+( ; ((?2)|(?4)|(?5)))*\\]))+( ; (?1))*\\]"))
Some results examples
[EVERY MONDAY] -> true
[DAY 1 ; EVERY FRIDAY] -> true
[EVERY MONDA] -> false
[DAY 32] -> false
[EVERY DAY ; EVERY SUNAY -> false
[MONTH JUNE [EVERY DAY]] -> true
[MONTH MAY [EVERY WEDNESDAY] ; MONTH JUNE [EVERY FRIDY]] -> false
[MONTH MAY [EVERY WEDNESDAY] ; MONTH JUNE [EVERY FRIDAY]] -> true
Error
java.util.regex.PatternSyntaxException: Unknown inline modifier near index 217
Already try
I saw this post however I don't understand how it works and how to solve my problem with the accepted answer.
Thanks in advance for help.