From: Tamir Duberstein Date: Tue, 20 Oct 2015 15:21:21 +0000 (-0400) Subject: regexp/syntax: correctly print `^` BOL and `$` EOL X-Git-Tag: go1.6beta1~294 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3aa755b8fb82c28e55938e040bdead6b7f45ae5a;p=gostls13.git regexp/syntax: correctly print `^` BOL and `$` EOL Fixes #12980. Change-Id: I936db2f57f7c4dc80bb8ec32715c4c6b7bf0d708 Reviewed-on: https://go-review.googlesource.com/16112 Reviewed-by: Russ Cox --- diff --git a/src/regexp/syntax/regexp.go b/src/regexp/syntax/regexp.go index cea7d9e04f..75822cf981 100644 --- a/src/regexp/syntax/regexp.go +++ b/src/regexp/syntax/regexp.go @@ -166,9 +166,9 @@ func writeRegexp(b *bytes.Buffer, re *Regexp) { case OpAnyChar: b.WriteString(`(?s:.)`) case OpBeginLine: - b.WriteRune('^') + b.WriteString(`(?m:^)`) case OpEndLine: - b.WriteRune('$') + b.WriteString(`(?m:$)`) case OpBeginText: b.WriteString(`\A`) case OpEndText: diff --git a/src/regexp/syntax/simplify_test.go b/src/regexp/syntax/simplify_test.go index 879eff5be7..5d0f1dea5e 100644 --- a/src/regexp/syntax/simplify_test.go +++ b/src/regexp/syntax/simplify_test.go @@ -19,8 +19,8 @@ var simplifyTests = []struct { {`(ab)+`, `(ab)+`}, {`(ab)?`, `(ab)?`}, {`.`, `(?s:.)`}, - {`^`, `^`}, - {`$`, `$`}, + {`^`, `(?m:^)`}, + {`$`, `(?m:$)`}, {`[ac]`, `[ac]`}, {`[^ac]`, `[^ac]`},