JavaScript Regex Entfernen bestimmter aufeinanderfolgender doppelter Zeichen

9

Ich versuche, eine Regex-Funktion zu erstellen, die alle nicht alphanumerischen Zeichen entfernt und alle doppelten Zeichen entfernt, z. dies: aabcd * def% gGGhhhijkklmnoP \ 1223 würde dies werden: abcddefgGhijklmnoPR3 . Ich bin in der Lage, die Sonderzeichen leicht zu entfernen, aber kann nicht für das Leben von mir herausfinden, wie man die doppelten Charaktere entfernt? Dies ist mein aktueller Code zum Entfernen der Sonderzeichen:

%Vor%

Wie kann ich die obige Regex erweitern, um nach doppelten Zeichen und solchen doppelten Zeichen zu suchen, die durch nicht-alphanumerische Zeichen getrennt sind.

    
jonnyhitek 15.10.2011, 21:38
quelle

4 Antworten

23

Die Regex ist /[^\w\s]|(.)/gi

Testen Sie hier: Ссылка

Es wird die Rückwärtsreferenz verwendet, um nach einem beliebigen Zeichen (.) gefolgt von demselben Zeichen

zu suchen

Wenn Sie nicht "nach doppelten Zeichen suchen" haben, meinen Sie aaa => a

Dann ist es /[^\w\s]|(.)(?=)/gi

Testen Sie hier: Ссылка

Beachten Sie, dass beide Regex nicht zwischen Groß- und Kleinschreibung unterscheiden. A == a , also Aa ist eine Wiederholung. Wenn Sie es nicht wollen, nehmen Sie die i von /gi

    
xanatos 15.10.2011, 21:52
quelle
3

\ 1+ ist der Schlüssel

%Vor%     
Joe 15.10.2011 21:53
quelle
2

Nicht reguläre Version:

%Vor%     
hsz 15.10.2011 21:47
quelle
1

kurze und einfache Eingabe = Brahmananda-Ausgabe: Brahmnd Ref: Ссылка

%Vor% %Vor%
    
brahmananda Kar 17.09.2014 11:26
quelle

Tags und Links