diff --git a/regex/postfixNode.go b/regex/postfixNode.go index 0447669..b3b9797 100644 --- a/regex/postfixNode.go +++ b/regex/postfixNode.go @@ -131,13 +131,9 @@ func newEscapedNode(c rune, inCharClass bool) (postfixNode, error) { case 'v': // Vertical tab toReturn.nodetype = characterNode toReturn.contents = append(toReturn.contents, rune(11)) - case '-': // Literal hyphen - only in character class - if inCharClass { - toReturn.nodetype = characterNode - toReturn.contents = append(toReturn.contents, '-') - } else { - return postfixNode{}, fmt.Errorf("invalid escape character") - } + case '-': // Literal hyphen + toReturn.nodetype = characterNode + toReturn.contents = append(toReturn.contents, '-') default: // None of the above - append it as a regular character if isNormalChar(c) { // Normal characters cannot be escaped return postfixNode{}, fmt.Errorf("invalid escape character")