В регулярном выражении ИЛИ, когда есть несколько входов с общим префиксом, регулярное выражение будет соответствовать первому входу в Regex OR
вместо самого длинного соответствия.
Например, для регулярного выражения regex = (KA|KARNATAKA)
и input = KARNATAKA
на выходе будет 2 совпадения match1 =KA
и match2 = KA
.
Но я хочу получить максимально длинное совпадение с заданным значением в Regex OR
, которое в моем данном примере равно match1 = KARNATAKA
.
Вот пример в клиенте регулярных выражений
Итак, что я сейчас делаю, я сортирую входные данные в Regex OR
по длине в порядке убывания.
Мой вопрос: можем ли мы указать само регулярное выражениесоответствовать самой длинной строке?Или сортировка - единственный способ сделать это?
Я уже упоминал этот вопрос и не вижу другого решения, кроме сортировки