aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/dlclark/regexp2/syntax/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/dlclark/regexp2/syntax/parser.go')
-rw-r--r--vendor/github.com/dlclark/regexp2/syntax/parser.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/vendor/github.com/dlclark/regexp2/syntax/parser.go b/vendor/github.com/dlclark/regexp2/syntax/parser.go
index f13f779cf6..be88e2eede 100644
--- a/vendor/github.com/dlclark/regexp2/syntax/parser.go
+++ b/vendor/github.com/dlclark/regexp2/syntax/parser.go
@@ -1250,10 +1250,10 @@ func (p *parser) scanBasicBackslash(scanOnly bool) (*regexNode, error) {
return nil, nil
}
- if p.useOptionE() || p.isCaptureSlot(capnum) {
+ if p.isCaptureSlot(capnum) {
return newRegexNodeM(ntRef, p.options, capnum), nil
}
- if capnum <= 9 {
+ if capnum <= 9 && !p.useOptionE() {
return nil, p.getErr(ErrUndefinedBackRef, capnum)
}
@@ -1808,11 +1808,11 @@ func (p *parser) scanOctal() rune {
i := 0
d := int(p.rightChar(0) - '0')
for c > 0 && d <= 7 {
- i *= 8
- i += d
- if p.useOptionE() && i >= 0x20 {
+ if i >= 0x20 && p.useOptionE() {
break
}
+ i *= 8
+ i += d
c--
p.moveRight(1)