Add third argument to match to control start offset.

This could use some work to be more efficient: get the byte offset without
copying strings.