Часть кода, над которым я работаю, использует несколько регулярных выражений для поиска простых строковых шаблонов (например, таких шаблонов, как "foo [0-9] {3,4} bar"). В настоящее время мы используем статически скомпилированные шаблоны Java и затем вызываем Pattern#matcher
, чтобы проверить, содержит ли строка совпадение с шаблоном (мне не нужно совпадение, просто логическое значение, указывающее, есть ли совпадение). Это приводит к заметному выделению памяти, что влияет на производительность.
Есть ли лучший вариант для сопоставления регулярных выражений Java, который быстрее или, по крайней мере, не выделяет память каждый раз, когда он ищет в строке шаблон?