Regex, um ein Wort mit eindeutigen (sich nicht wiederholenden) Zeichen zu verbinden
Ich bin auf der Suche nach einem regex zu entsprechen, wird ein Wort nur dann, wenn alle Charaktere sind einzigartig, was bedeutet, jedes Zeichen des Wortes erscheint nur einmal.
Beispiel:
abcdefg
-> zurück MATCH
abcdefgbh
-> zurück KEINE ÜBEREINSTIMMUNG (weil der Brief b
wiederholt mehr als einmal)
InformationsquelleAutor der Frage alfasin | 2012-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies, es könnte funktionieren,
Erklärung
InformationsquelleAutor der Antwort John Woo
Können Sie überprüfen, ob es gibt 2 Instanzen von Zeichen in der Zeichenfolge:
(Ich habe einfach erfassen eines Zeichens und prüfen, ob er eine Kopie an anderer Stelle mit Rückverweis. Der rest der
.*
sind don ' T-cares).Wenn die regex oben übereinstimmen, dann wird der string hat wiederholenden Charakter. Wenn die regex oben nicht übereinstimmt, dann werden alle Charaktere sind einzigartig.
Die gute Sache über die regex oben ist, wenn der regex-engine nicht unterstützt, schauen Sie sich um.
Offenbar John Woo ' s Lösung ist ein schöner Weg, um zu überprüfen, für die Einzigartigkeit direkt. Sie behaupten, auf jedes Zeichen, dass die Zeichenfolge vor nicht enthalten das aktuelle Zeichen.
InformationsquelleAutor der Antwort nhahtdh
Diese würde auch eine vollständige übereinstimmung mit einer Länge von word mit nicht wiederholenden Buchstaben:
Ich leicht überarbeitet, die Antwort zur Verfügung gestellt von @Bohemian zu einer anderen Frage vor einer Weile, diese zu bekommen.
Es wurde auch schon eine Weile her, die Frage die oben gestellt wurde, aber ich dachte, es wäre schön, haben auch diese regex-Muster hier.
InformationsquelleAutor der Antwort Alper