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