Heim  >  Artikel  >  Backend-Entwicklung  >  So überprüfen Sie mithilfe eines regulären Ausdrucks in Golang, ob das Passwort Leerzeichen enthält

So überprüfen Sie mithilfe eines regulären Ausdrucks in Golang, ob das Passwort Leerzeichen enthält

WBOY
WBOYOriginal
2023-06-24 11:34:391433Durchsuche

In Golang sind reguläre Ausdrücke ein sehr leistungsfähiges Werkzeug, mit dem ermittelt werden kann, ob eine Zeichenfolge mit einem bestimmten Muster übereinstimmt. Bei der Überprüfung von Passwörtern wird häufig gefordert, dass das Passwort keine Leerzeichen enthalten darf. Wie kann man also mithilfe regulärer Ausdrücke in Golang erkennen, ob das Passwort Leerzeichen enthält? In diesem Artikel wird es Ihnen ausführlich vorgestellt.

1. Übersicht über reguläre Ausdrücke

Regulärer Ausdruck ist eine Sprache, die zum Abgleichen von Zeichenfolgen verwendet wird. Sie kann Entwicklern helfen, schnell die erforderlichen Informationen aus großen Textmengen zu extrahieren. In Golang kann die Funktion zum Abgleich regulärer Ausdrücke mithilfe des Pakets „regexp“ in der Standardbibliothek implementiert werden. Dieses Paket stellt Funktionen und Typen zum Erstellen und Abgleichen regulärer Ausdrücke bereit.

In Golang ist die Syntax regulärer Ausdrücke ungefähr dieselbe wie in anderen Sprachen. Die gängigen Metazeichen sind wie folgt:

  • (): Wird zum Gruppieren verwendet. Sie können die Priorität des Operators ändern.
  • []: wird verwendet, um eine Sammlung von Zeichen zu beschreiben.
  • {}: Wird verwendet, um die Anzahl der Wiederholungen zu beschreiben. {1,3} bedeutet beispielsweise, dass übereinstimmende Zeichen ein- bis dreimal wiederholt werden.
  • *: Entspricht dem vorherigen Zeichen mindestens 0 Mal.
  • +: Passt mindestens einmal zum vorherigen Zeichen.
  • ?: Entspricht dem vorherigen Zeichen 0 oder 1 Mal.
  • .: Kann mit jedem Zeichen übereinstimmen (außer Newline).
  • d: Entspricht jedem numerischen Zeichen, äquivalent zu [0-9].
  • D: entspricht jedem nicht numerischen Zeichen, äquivalent zu 1.
  • w: Entspricht jedem alphabetischen oder numerischen Zeichen, äquivalent zu [a-zA-Z0-9_].
  • W: Entspricht jedem Nicht-Buchstaben- oder Ziffernzeichen, äquivalent zu 2.
  • s: Entspricht jedem Leerzeichen (einschließlich Leerzeichen, Tab, Wagenrücklauf usw.), äquivalent zu [
    ].
  • S: Entspricht jedem Zeichen, das kein Leerzeichen ist.

2. Überprüfen Sie, ob das Passwort Leerzeichen enthält.

Nun versuchen wir, mithilfe regulärer Ausdrücke zu überprüfen, ob das Passwort Leerzeichen enthält. Vorausgesetzt, wir haben das vom Benutzer eingegebene Passwort erhalten, können wir es mit der folgenden Methode überprüfen:

package main

import (
    "fmt"
    "regexp"
)

func checkPassword(password string) bool {
    pattern := `^[^s]+$` // 定义正则表达式
    matched, err := regexp.MatchString(pattern, password) // 匹配字符串
    if err != nil {
        // 这里处理匹配错误的情况
    }
    return matched
}

func main() {
    password := "abc123" // 测试用例1,不包含空格,应返回true
    fmt.Println(checkPassword(password)) // 输出true

    password = "abc 123" // 测试用例2,包含空格,应返回false
    fmt.Println(checkPassword(password)) // 输出false
}

Im obigen Beispiel haben wir eine Funktion namens „checkPassword“ definiert, die einen String-Typ-Parameter „password“ akzeptiert um zu überprüfen, ob das Passwort den Anforderungen entspricht. In der Funktion wird eine Variable mit dem Namen „pattern“ definiert, um den regulären Ausdruck zu speichern, den wir abgleichen möchten, also „^3+$“. Dieser reguläre Ausdruck bedeutet Folgendes: Die Zeichenfolge muss mit einem Nicht-Leerzeichen beginnen, mit einem Nicht-Leerzeichen enden und die Zeichenfolge darf keine Leerzeichen enthalten.

In der Funktion verwenden wir zunächst die Funktion „regexp.MatchString“, um die zu erkennende Zeichenfolge „password“ und den regulären Ausdruck „pattern“ abzugleichen. Gibt true zurück, wenn die Übereinstimmung erfolgreich ist, andernfalls false. Es ist zu beachten, dass ein Fehlerobjekt ungleich Null zurückgegeben wird, wenn während des Abgleichvorgangs ein Fehler auftritt. Daher benötigen wir eine Fehlerbehandlung im Code.

In der Hauptfunktion haben wir zwei Testfälle geschrieben, einen mit Leerzeichen und einen ohne Leerzeichen. Nachdem Sie das Programm ausgeführt haben, können Sie sehen, dass die Ausgabe wie erwartet ist.

3. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit regulären Ausdrücken in Golang überprüfen, ob das Passwort Leerzeichen enthält. Mithilfe regulärer Ausdrücke können wir leicht erkennen, ob eine Zeichenfolge einem bestimmten Muster entspricht. In Golang stellt die Standardbibliothek ein Paket namens „regexp“ bereit, um Entwicklern beim Erstellen und Anpassen regulärer Ausdrücke zu helfen. Mit diesem Paket können wir schnell String-Matching-Funktionen implementieren, um verschiedene Verifizierungsanforderungen zu erfüllen.


  1. 0-9
  2. a-zA-Z0-9_
  3. s

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie mithilfe eines regulären Ausdrucks in Golang, ob das Passwort Leerzeichen enthält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn