Verwenden Sie reguläre Notepad ++ - Ausdrücke, um Wörter zu komprimieren und zu entfernen

Original Saite: abbbbbijkijkijkijkijkijkijkijkc

 

-------------------------------------------------- --------------------------

 

Ziel 1:

Komprimieren Sie ein einzelnes Zeichen, das mehr als dreimal in einer Zeichenfolge wiederholt wurde, zu einem Mal, dh bbbbb wird zu b

 

Der zu findende reguläre Ausdruck lautet:

(.) \ 1 {2,}

Erläuterung:

Stellt ein beliebig angegebenes Zeichen dar.

Die \ 1 in (.) \ 1 repräsentiert den Inhalt, der den Klammern entspricht.

\ 1 {2,} bedeutet, dass der durch \ 1 angegebene Inhalt mindestens zweimal hintereinander angezeigt wird.

Daher stellt (.) \ 1 {2,} diese Zeichenfolge regulärer Ausdrücke dar, dass zusätzlich zu (.) Selbst der Inhalt, der (.) Entspricht, mindestens zweimal erscheint, dh jedes angegebene Zeichen ist fortlaufend. Erscheint bei mindestens dreimal.

 

Der zu ersetzende reguläre Ausdruck lautet:

\ 1

Erläuterung:

Ersetzen Sie den gefundenen Inhalt offensichtlich durch den durch \ 1 angegebenen Inhalt, der auch (.) Ist und hier b ist.

 

Das Ergebnis nach dem Austausch:

abijkijkijkijkijkijkijkc

 

-------------------------------------------------- --------------------------

 

Ziel 2:

Komprimieren Sie die Zeichenfolge, die mehr als zweimal in abijkijkijkijkijkijkijkijkc wiederholt wurde und im vorherigen Schritt verarbeitet wurde, zu einer Zeichenfolge, dh ändern Sie ijkijkijkijkijkijkijkijk in ijk

 

Der zu findende reguläre Ausdruck lautet:

(.. +?) \ 1 {1,}

Erläuterung:

Stellt ein beliebig angegebenes Zeichen dar, und .. +? Stellt eine beliebig angegebene Zeichenfolge mit einer Länge von 2 oder mehr dar und ist eine nicht gierige Übereinstimmung, dh .. +? Entspricht ijk. Wenn es in .. + geändert wird, handelt es sich um eine gierige Übereinstimmung, die mit ijkijkijkijk übereinstimmt. Die gierige Übereinstimmung führt dazu, dass die Such- und Ersetzungsoperation logN-mal wiederholt werden muss (N ist die Anzahl der Zeichenfolgenwiederholungen), um sie zu komprimieren Die Zeichenfolge wurde N-mal zu einer wiederholt. Anstelle von gierigem Matching müssen Sie nur einmal suchen und ersetzen.

Die \ 1 in (.. +?) \ 1 repräsentiert den Inhalt, der den Klammern entspricht.

\ 1 {1,} bedeutet, dass der von \ 1 angegebene Inhalt mindestens einmal hintereinander angezeigt wird.

Daher repräsentiert (.. +?) \ 1 {1,} diese Zeichenfolge regulärer Ausdrücke zusätzlich zu (.. +?) Selbst, gefolgt von Inhalten, die (.. +?) Entsprechen und mindestens einmal erscheinen, auch That Das heißt, die willkürlich festgelegte Zeichenfolge mit einer Länge von 2 oder mehr erscheint mindestens zweimal hintereinander.

 

Der zu ersetzende reguläre Ausdruck lautet:

\ 1

Erläuterung:

Offensichtlich müssen Sie den gefundenen Inhalt durch den durch \ 1 angegebenen Inhalt ersetzen, der auch (.. +?) Ist, was hier ijk ist.

 

Das Ergebnis nach dem Austausch:

abijkc

-------------------------------------------------- --------------------------

Erweiterte Nutzung:

Bei der obigen Suche der Ziele 1 und 2 ist es erforderlich, dass die gefundene wiederholte Zeichenfolge keine reine Zahl ist und nur in den folgenden regulären Ausdruck geändert werden muss:

Ziel 1:

([^ 0-9]) \ 1 {2,}

Ziel 2:

So finden und ersetzen Sie in zwei Schritten:

Zuerst finden

([0-9] + [^ 0-9]. *?) \ 1 {1,}

Unter ihnen ([0-9] + [^ 0-9]. *?) Stellt die wiederholte Zeichenfolgeneinheit dar, und das Muster wird interpretiert als: mindestens ein numerisches Zeichen (gierige Übereinstimmung), gefolgt von einem nicht numerischen Zeichen, gefolgt von mehr als Null (nicht numerische Zeichen) Gierige Übereinstimmung) jedes Zeichen;

Dann finden

([^ 0-9]. +?) \ 1 {1,}

Unter diesen ([^ 0-9]. +?) Stellt die wiederholte Zeichenfolgeneinheit dar, und das Muster wird interpretiert als: ein nichtstelliges Zeichen, gefolgt von mehr als einem beliebigen Zeichen (nicht gieriges Matching);

-------------------------------------------------- --------------------------

Anhang: Erweiterte Verwendung des regulären NOTEPAD ++ - Ausdrucks https://blog.csdn.net/yocencyy/article/details/104117433

Ich denke du magst

Origin blog.csdn.net/yocencyy/article/details/104120457
Empfohlen
Rangfolge