diff --git a/regex/compile.go b/regex/compile.go index 1e10aa9..ebcb318 100644 --- a/regex/compile.go +++ b/regex/compile.go @@ -407,7 +407,7 @@ func shuntingYard(re string, flags ...ReFlag) ([]postfixNode, error) { } else { escapedNode, err := newEscapedNode(re_postfix[i], false) if err != nil { - return nil, fmt.Errorf("invalid escape character in expression") + return nil, err } outQueue = append(outQueue, escapedNode) } @@ -575,7 +575,7 @@ func shuntingYard(re string, flags ...ReFlag) ([]postfixNode, error) { } else { escapedNode, err := newEscapedNode(re_postfix[i], true) if err != nil { - return nil, fmt.Errorf("invalid escape character in character class") + return nil, err } chars = append(chars, escapedNode) i++ @@ -627,7 +627,7 @@ func shuntingYard(re string, flags ...ReFlag) ([]postfixNode, error) { case "word": // Word characters nodeToAdd, _ = newEscapedNode('w', true) // This isn't going to error, so I suppress it default: - return nil, fmt.Errorf("invalid POSIX character class") + return nil, err } chars = append(chars, nodeToAdd) i = temp_i + len(posixClass) + 2 // Skip over the class name, the closing colon and the closing bracket