programing

4자리 이상의 고유 숫자로 구성된 번호를 일치시키는 방법

javaba 2022. 10. 6. 21:27
반응형

4자리 이상의 고유 숫자로 구성된 번호를 일치시키는 방법

(불행하게도 데이터베이스 레벨에서 실행되어야 합니다.실제로 MariaDB) 번호를 사용하여 번호를 적어도4개의 고유 자릿수로 구성해야 한다는 규칙을 사용하여 정규 표현 번호를 확인해야 합니다.

달성해야 할 사항의 예:

112233441122는 OK(1,2,3,4에서만 제조)1234564222134로 정상(6자리)122102111이 불량입니다(3자리만:0,1,2).91511201로 OK(5자리)

저는 기꺼이 제 시도를 공유하고 싶지만, 지금은 배경 레퍼런스가 서툴고, 제 작은 시도도 두 개의 다른 캐릭터로 구성된 단어에 더 가까워지지 않았습니다.문자열의 문자를 세는 사용자 정의 기능도 시도해 보았습니다만, 속도가 느리고, REGEX를 사용하는 것만큼 우아하지 않습니다.

백레퍼런스 및 가능한 일치를 지원하는 regex 엔진을 사용하고 있는 경우, 다음을 사용할 수 있습니다.

^(\d)\1*+(\d)(?:\1|\2)*+(\d)(?:\1|\2|\3)*+\d+$

원자 그룹을 사용하여 동일한 작업을 수행할 수 있습니다.

^(\d)(?>\1*)(\d)(?>(?:\1|\2)*)(\d)(?>(?:\1|\2|\3)*)\d+$

언급URL : https://stackoverflow.com/questions/39996939/how-to-match-number-composed-of-at-least-4-unique-digits

반응형