Я написал следующий код для сопоставления с шаблоном, и он хорошо работает, возвращая true для совпавшего
Pattern pattern=Pattern.compile("(:(TRANSID,[0-9]*))?(:(PAYTYPE,[0-9&&[01]]{1}))?");
Matcher matcher=pattern.matcher(":TRANSID,0:PAYTYPE,0");
System.out.println(matcher.matches());
Output=true
но приведенный ниже код возвращает значение false, когда PAYTYPE и TRANSID обмениваются там позициями. Пожалуйста, помогите
Pattern pattern=Pattern.compile("(:(TRANSID,[0-9]*))?(:(PAYTYPE,[0-9&&[01]]{1}))?");
Matcher matcher=pattern.matcher(":PAYTYPE,0:TRANSID,0");
System.out.println(matcher.matches());
Output=false
Пожалуйста, дайте мне знать, что изменение должно быть сделано в шаблоне, чтобы он возвращал истину, даже если порядок изменяется, но параметры должны быть одинаковыми.