Wie kann ich prüfen, ob eine gegebene Zeichenkette X Großbuchstaben, Y Ziffern und Z Nicht-Wortzeichen enthält? Diese Nummern müssen in der Regex definiert werden können.Nach X-Instanzen in einer Regex suchen
So zum Beispiel
hereisMy1String
Ist es enthält: 2 Ziffern (oder jede beliebige Zahl), 2 Kapitelle (oder jede beliebige Zahl) und ein nicht Wortzeichen (oder mehrere)?
Die Zahlen/Buchstaben/Zeichen können sich an einer beliebigen Position innerhalb der Zeichenfolge befinden.
Sie brauchen so etwas wie '^ (= (?:? \ D * \ d) {2}) (= (?:? [^AZ] * [AZ]) {2}) (? = (?: \ W * \ W) {1}) ' –
Es hängt davon ab, was du mit" nicht arbeiten "meinst - http://ideone.com/ 91izLw. Die von Ihnen angegebene Zeichenfolge enthält keine Nicht-Wort-Zeichen. –
Dies ist ein klassischer Fall, tun Sie es nicht in einem einzigen Ausdruck. Der Code wird millionenfach einfacher zu lesen, wenn Sie nicht versuchen, ihn zu erzwingen. –