2013-11-24 9 views
5

Gos re2 syntax document sagt, dass das beliebige Zeichen (.) Mit einem beliebigen Zeichen übereinstimmt, einschließlich Newline (s = wahr). Allerdings habe ich ein einfaches Programm geschrieben, dessen Ergebnis zeigte, dass der Charakter überhaupt nicht mit Newline übereinstimmte. Das Programm finden Sie hier: http://play.golang.org/p/pccP52RvKS. Ich bin ziemlich verwirrt.Geht regexp's beliebiges Zeichen Übereinstimmung Newline

Jede Hilfe wird geschätzt, und danke im Voraus.

Antwort

11

Wie die meisten anderen (alle?) Regex-Engines stimmt dot nicht mit Zeilenvorschüben überein, es sei denn, Sie fügen dem Regex das Flag "(?s)" hinzu.

Ich habe dies mit Ihrem Link getestet und es hat funktioniert.

+3

Ja, dieser Dokumenteintrag ist nur schlecht formuliert. Die eigenen Dokumente von Golang sind deutlicher geschrieben: "ein beliebiges Zeichen, ** möglicherweise ** inklusive Zeilenumbruch (Flag s = true)" ([ref] (http://golang.org/pkg/regexp/syntax/)) –

Verwandte Themen