diff --git a/matching.go b/matching.go index 5afe6ca..52de354 100644 --- a/matching.go +++ b/matching.go @@ -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 }