/ Ako priradiť číslo zložené z najmenej 4 jedinečných číslic - regex, mariadb

Ako sa zhoduje s číslom zloženým najmenej z 4 jedinečných číslic - regex, mariadb

Musím (bohužiaľ, musí to urobiť na úrovni databázy - vlastne MariaDB), aby som overil pomocou čísel regulárnych výrazov pomocou pravidla, že toto číslo musí pozostávať z najmenej 4 jedinečných číslic.

Príklady toho, čo musím dosiahnuť:

112233441122 je v poriadku (vyrobené iba od 1,2,3,4) 1234564222134 je v poriadku (6 rôznych číslic) 122102111 je nesprávny (iba 3 číslice: 0,1,2) 91511201 je v poriadku (5 číslic)

Rád by som sa podelil o svoje pokusy, ale nie som dobrýpráve teraz so spätnými odkazmi, a žiadny z mojich maličkých pokusov sa ešte viac priblížil slovu zloženému z dvoch rôznych postáv. Tiež som vyskúšal funkcie definované používateľom, ktoré počítajú znaky v reťazci, ale sú pomalé a nie také elegantné, ako pri používaní REGEX.

odpovede:

8 pre odpoveď č. 1

Za predpokladu, že používate regulárny motor, ktorý podporuje spätné odkazy a vlastnoručné párovanie, môžete použiť:

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

To isté sa dá urobiť pomocou atómových skupín:

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