Removed exclamation mark in inverted metacharacters - had the opposite effect becasue of the way deleteFunc works
This commit is contained in:
6
main.go
6
main.go
@@ -109,19 +109,19 @@ func shuntingYard(re string) []postfixNode {
|
|||||||
outQueue = append(outQueue, newPostfixNode(whitespaceChars...))
|
outQueue = append(outQueue, newPostfixNode(whitespaceChars...))
|
||||||
case 'S': // Non-whitespace - I am doing this in a fancy way, generating all dot characters, then removing whitespace characters from it
|
case 'S': // Non-whitespace - I am doing this in a fancy way, generating all dot characters, then removing whitespace characters from it
|
||||||
outQueue = append(outQueue, newPostfixNode(slices.DeleteFunc(dotChars(), func(r rune) bool {
|
outQueue = append(outQueue, newPostfixNode(slices.DeleteFunc(dotChars(), func(r rune) bool {
|
||||||
return !slices.Contains(whitespaceChars, r)
|
return slices.Contains(whitespaceChars, r)
|
||||||
})...))
|
})...))
|
||||||
case 'd': // Digits
|
case 'd': // Digits
|
||||||
outQueue = append(outQueue, newPostfixNode(digitChars...))
|
outQueue = append(outQueue, newPostfixNode(digitChars...))
|
||||||
case 'D': // Non-digits - same fancy way as 'S'
|
case 'D': // Non-digits - same fancy way as 'S'
|
||||||
outQueue = append(outQueue, newPostfixNode(slices.DeleteFunc(dotChars(), func(r rune) bool {
|
outQueue = append(outQueue, newPostfixNode(slices.DeleteFunc(dotChars(), func(r rune) bool {
|
||||||
return !slices.Contains(digitChars, r)
|
return slices.Contains(digitChars, r)
|
||||||
})...))
|
})...))
|
||||||
case 'w': // word character
|
case 'w': // word character
|
||||||
outQueue = append(outQueue, newPostfixNode(wordChars...))
|
outQueue = append(outQueue, newPostfixNode(wordChars...))
|
||||||
case 'W': // Non-word character - same fancy way as 'S' and 'D'
|
case 'W': // Non-word character - same fancy way as 'S' and 'D'
|
||||||
outQueue = append(outQueue, newPostfixNode(slices.DeleteFunc(dotChars(), func(r rune) bool {
|
outQueue = append(outQueue, newPostfixNode(slices.DeleteFunc(dotChars(), func(r rune) bool {
|
||||||
return !slices.Contains(wordChars, r)
|
return slices.Contains(wordChars, r)
|
||||||
})...))
|
})...))
|
||||||
default: // None of the above - append it as a regular character
|
default: // None of the above - append it as a regular character
|
||||||
outQueue = append(outQueue, newPostfixCharNode(re_postfix[i]))
|
outQueue = append(outQueue, newPostfixCharNode(re_postfix[i]))
|
||||||
|
Reference in New Issue
Block a user