]> Cypherpunks repositories - gostls13.git/commitdiff
regexp/syntax: correctly print `^` BOL and `$` EOL
authorTamir Duberstein <tamird@gmail.com>
Tue, 20 Oct 2015 15:21:21 +0000 (11:21 -0400)
committerRuss Cox <rsc@golang.org>
Wed, 25 Nov 2015 17:25:22 +0000 (17:25 +0000)
Fixes #12980.

Change-Id: I936db2f57f7c4dc80bb8ec32715c4c6b7bf0d708
Reviewed-on: https://go-review.googlesource.com/16112
Reviewed-by: Russ Cox <rsc@golang.org>
src/regexp/syntax/regexp.go
src/regexp/syntax/simplify_test.go

index cea7d9e04fec70ac66435c0aae94398b07a57ba2..75822cf981e3442868cc1b20e8287b19ea394abd 100644 (file)
@@ -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:
index 879eff5be7ee3d9aa25489fb10180a708b633125..5d0f1dea5e738b5d3525c9b3e3c2064c6ebccd39 100644 (file)
@@ -19,8 +19,8 @@ var simplifyTests = []struct {
        {`(ab)+`, `(ab)+`},
        {`(ab)?`, `(ab)?`},
        {`.`, `(?s:.)`},
-       {`^`, `^`},
-       {`$`, `$`},
+       {`^`, `(?m:^)`},
+       {`$`, `(?m:$)`},
        {`[ac]`, `[ac]`},
        {`[^ac]`, `[^ac]`},