11 Stimmen

Übereinstimmung von 3 oder mehr gleichen Zeichen in Python

Ich versuche, reguläre Ausdrücke zu verwenden, um drei oder mehr gleiche Zeichen in einer Zeichenkette zu finden. Also zum Beispiel: 'hallo' würde nicht passen 'ohhh' würde passen.

Ich habe versucht, Dinge zu tun wie:

re.compile('(?!.*(.)\1{3,})^[a-zA-Z]*$') 
re.compile('(\w)\1{5,}')

aber beides scheint nicht zu funktionieren.

20voto

Qtax Punkte 32095

(\w)\1{2,} ist die Regex, nach der Sie suchen.

In Python könnte es wie folgt zitiert werden r"(\w)\1{2,}"

2voto

Spudley Punkte 161296

Wenn Sie dreimal hintereinander nach demselben Zeichen suchen, können Sie dies tun:

(\w)\1\1

Wenn Sie das gleiche Zeichen dreimal irgendwo in der Zeichenkette finden wollen, müssen Sie einen Punkt und ein Sternchen zwischen die Teile des obigen Ausdrucks setzen, etwa so:

(\w).*\1.*\1

En .* passt auf eine beliebige Anzahl von beliebigen Zeichen, so dass dieser Ausdruck auf eine beliebige Zeichenfolge passt, in der ein einzelnes Wortzeichen drei oder mehr Mal vorkommt, mit einer beliebigen Anzahl von beliebigen Zeichen dazwischen.

Ich hoffe, das hilft.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X