private static final String REGEX_OF_PRODUCT_ORDER = "^\\\\[(.+)-\\\\d+\\\\](,\\\\[(.+)-\\\\d+\\\\])*$";
  1. \\\\[: 대괄호 [를 문자 그대로 매칭.

  2. (.+)-\\\\d+:

  3. (,\\\\[(.+)-\\\\d+\\\\])*:

    이 부분은 쉼표로 구분된 [문자열-숫자] 패턴의 반복을 처리합니다.

  4. $:


1.[가-힣]+ : 한 글자 이상의 한글

  1. [a-zA-Z]+ : 한 글자 이상의 영어

3.[가-힣a-zA-Z]+ : 한 글자 이상의 한글 영어 조합

  1. [가-힣a-zA-Z0-9]+: 한 글자 이상의 한글 영어 숫자
  2. [가-힣a-zA-Z\\s]+ : 한글 영어 공백 허용

위에꺼는 ^ 있고 없고 해봤어…

^([가-힣]+)(,([가-힣]+))*$ —> 콤마 기준으로 한글 추출 가능 match.find에 while넣고 Group()만 해줘

^(\s*|([가-힣]+)(,([가-힣]+))*)$ → 시작 부분에 공백 허용

^$|^[가-힣]+(,([가-힣]+))*$ → 아예 공백이거나 이렇게…

^$|^[가-힣\s]+(,([가-힣\s]+))*$

 String REGEX_OF_PRODUCT_ORDER = "^\\\\[(.+)-\\\\d+\\\\](,\\\\[(.+)-\\\\d+\\\\])*$";