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