Now you have only considered
failed matches, with random strings. If you want to make an argument to go with either a regexp or index() you should also consider strings with matches, consider where the match happens (beginning, end of string), and what happens with near matches. (I.e. searching for 'abba' in 'ab' x 1000).
Of course, in practice, most searches will be of small strings in small strings, neither of them very random.