Match empty string if start state is kleene star

This commit is contained in:
2024-10-27 15:11:12 -04:00
parent 7e7e75903d
commit cda0dfb0cc

@@ -31,6 +31,10 @@ func findAllMatches(start *State, str string) (indices []matchIndex) {
func findAllMatchesHelper(start *State, str string, indices []matchIndex, offset int) []matchIndex {
// 'Base case' - exit if string is empty.
if len(str) == 0 {
// If the start is a Kleene star, then it should also match an empty string.
if start.isKleene {
indices = append(indices, matchIndex{offset, offset})
}
return indices
}