func previousIndex(properties property, data []byte) int {
	i := len(data)
	for i > 0 {
		_, w := utf8.DecodeLastRune(data[:i])
		i -= w
		lookup, _ := trie.lookup(data[i:])
		if lookup.is(_Ignore) {
			continue
		}
		if lookup.is(properties) {
			return i
		}
		break
	}
	return -1
}
previousIndex works backward until it hits a rune in properties,
ignoring runes in the _Ignore property, and returns the index of the rune in the buffer.
It returns -1 if a properties rune is not found.
package sentences
import "unicode/utf8"