Как я могу извлечь самую длинную из групп, которые начинаются одинаково
Например, из заданной строки я хочу извлечь самое длинное соответствие либо CS, либо CSI.
Я попробовал это "(CS | CSI). *", И он вернет CS, а не CSI, даже если CSI доступен.
Если я сделаю "(CSI | CS). *", Тогда я получу CSI, если это совпадение, поэтому я думаю, что решение состоит в том, чтобы всегда размещать короче перекрывающихся групп после более длинной.
Есть ли более ясный способ выразить это с помощью re? почему-то кажется странным, что результат зависит от порядка, в котором вы связываете группы.