Golang ist eine leistungsstarke Programmiersprache, deren integrierte Funktionalität für reguläre Ausdrücke eine bequeme Verarbeitung von Textdateien bietet. In Golang können reguläre Ausdrücke verwendet werden, um bestimmte Zeilen in Dateien abzugleichen und zu extrahieren. Dieser Artikel des PHP-Herausgebers Xiaoxin führt Leser in die Verwendung der regulären Ausdrucksfunktion von Golang ein, um Zeilen in einer Datei genau abzugleichen, und gibt tatsächliche Codebeispiele. Durch das Studium dieses Artikels können die Leser die reguläre Ausdrucksfunktion in Golang besser verstehen und anwenden und die Effizienz und Genauigkeit der Dateiverarbeitung verbessern.
Ich habe eine Datei mit folgendem Inhalt
# requires authentication with auth-user-pass auth-user-pass #auth-user-pass # auth-user-pass auth-user-passwd
Gibt es eine Möglichkeit, dafür zu sorgen, dass der reguläre Ausdruck nur mit der zweiten Zeile mit Golang übereinstimmt?
Ich habe versucht, den folgenden Code zu verwenden, aber er gibt ein leeres Slice zurück
package main import ( "fmt" "os" "regexp" ) func main() { bytes, err := os.readfile("file.txt") if err != nil { panic(err) } re, _ := regexp.compile(`^auth-user-pass$`) matches := re.findallstring(string(bytes), -1) fmt.println(matches) }
$ go run main.go []
Ihre Zeichenfolge enthält mehrere Zeilen, daher sollten Sie den Mehrzeilenmodus aktivieren (mithilfe der m
-Flagge):
Hier ist ein einfaches Beispiel:
package main import ( "fmt" "regexp" ) func main() { var str = `# Requires authentication with auth-user-pass auth-user-pass #auth-user-pass # auth-user-pass auth-user-passwd` re, _ := regexp.Compile(`(?m)^auth-user-pass$`) matches := re.FindAllString(str, -1) fmt.Println(matches) }
Sie können dieses Code-Snippet ausprobieren unter: https://www.php.cn/link/f4f4a06c589ea53edf4a9b18e70bbd40.
Das obige ist der detaillierte Inhalt vonGenaue Zeile in der Golang-Regex-Datei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!