Übereinstimmung wiederkehrender Zeichen im regulären Ausdruck von Go
Im regulären Ausdruck von Go kann das Abgleichen sich wiederholender Zeichen eine Herausforderung darstellen, da Rückverweise nicht unterstützt werden. Dies kann frustrierend sein, insbesondere wenn Sie komplexe Mustervergleichsaufgaben durchführen müssen.
Um diese Einschränkung zu beheben, gibt es zwei mögliche Lösungen:
Eine Möglichkeit besteht darin, eine reguläre Ausdrucksbibliothek eines Drittanbieters zu verwenden, die Rückreferenzen unterstützt. Eine beliebte Wahl ist „glenn-brown/golang-pkg-pcre“. Diese Bibliothek bietet einen umfassenden Satz regulärer Ausdrucksfunktionen, einschließlich Rückverweisen.
Wenn die Verwendung einer externen Bibliothek nicht möglich ist können Sie sich für einen benutzerdefinierten Schleifenansatz entscheiden, um die Analyse ohne regulären Ausdruck durchzuführen. Dazu gehört die Iteration über die Zeichenfolge, die Prüfung auf Übereinstimmungen mit aufeinanderfolgenden Zeichen und die schrittweise Erstellung der Übereinstimmungen.
Dieser Ansatz ist zwar möglicherweise weniger effizient als die Verwendung eines regulären Ausdrucks, bietet aber eine größere Kontrolle und Flexibilität über den Übereinstimmungsprozess. Der folgende Codeausschnitt veranschaulicht, wie dies implementiert werden kann:
package main
import "fmt"
func main() {
str := "abccdeff"
matches := []string{}
for i := 1; i Ausgabe:
[cc ff]
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3