Я ищу быстрый и безопасный способ применения регулярных выражений в потоках.
Я нашел несколько примеров в Интернете, говорящих о преобразовании каждого буфера в String, а затем применил Regex
в строке.
Этот подход имеет две проблемы:
- Производительность: преобразование в строки и GC'ing строк - это трата времени и процессора, и этого можно избежать, если бы был более естественный способ применения
Regex
в потоках. - Pure
Regex
support:Regex
pattern иногда может совпадать только при объединении двух буферов вместе (буфер 1 заканчивается первой частью совпадения, а буфер 2 начинается со второй части совпадения). Метод convert-to-string не может обрабатывать этот тип соответствия изначально, я должен предоставить больше информации, такой как максимальная длина, с которой может сравниться шаблон, это не поддерживает знаки + и * regex вообще и никогда не будет поддерживать (неограниченное совпадение длина).
Итак, способ конвертирования в строку не выполняется быстро и не поддерживает полностью Regex
.
Есть ли способ/библиотека, который можно использовать для применения Regex
в потоках без преобразования в строки и с полной поддержкой Regex?