Совпадайте с шаблоном без обратного отслеживания
создает шаблон, который не обращается назад в newpat
= possessivePattern(pat
)pat
один раз pat
соответствует.
Если символ может совпадать более чем с одним шаблоном в выражении, таком как символы цифр с alphanumericsPattern + digitsPattern
все возможные комбинации соответствия могут быть проверены в попытке найти успешное соответствие. Этот процесс называется backtracking.
possessivePattern
препятствует обратному отслеживанию, поэтому один раз в possessivePattern
соответствует, соответствующий текст больше не может совпадать с другими частями выражения шаблона, даже если это приводит к тому, что шаблон не совпадает. Использование possessivePattern
улучшить эффективность путем ограничения возможных комбинаций шаблонов, проверенных на соответствие.