11 Stimmen

Wie kann ich die Regex "Alle Zeichen sind gleich" schreiben?

Ich möchte, dass es passt:

aaaaaa
bb
c

aber nicht:

aaabaaa
cd

...

31voto

kennytm Punkte 488916

Vorausgesetzt, die Regex-Engine unterstützt Rückverweise,

^(.)\1*$

In Java würde es lauten

theString.matches("(.)\\1*")

8voto

sepp2k Punkte 352762

Verwendung von Rückverweisen:

(.)(\1)*

Lesen: Ein beliebiges Zeichen, gefolgt von demselben Zeichen 0 oder mehr Mal.

Je nach der Regexp-Engine und Ihren Bedürfnissen sollten Sie die Regex so verankern, dass sie nur auf die gesamte Zeichenfolge passt, nicht auf Teilzeichenfolgen.

0voto

dawg Punkte 89931

Wenn Sie erfassen wollen, was Sie treffen, ist es ^((.)\2*)$

0voto

Denis Macedo Punkte 11

Nur um zu dieser Frage beizutragen, können Sie den BackRefence verwenden:

( \w +) \s + \1

Er prüft wiederholte Wörter, die durch Leerzeichen getrennt sind.

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