Какой у вас объем данных? Поиск по множеству строк не должен занимать много времени. И пока у вас не миллионы этих строк все должно быть быстро. Эквивалентный код на моей машине выполняет проход регэкспом по массиву из миллиона строк менее чем за 100мс. Если у вас бОльшие объемы или хотя бы сопоставимые - вы что-то делаете не так :) Ну или если вы ожидаете обработку такого объема данных моментально, то стоит скорректировать ожидания.