Карты в покере ранжируются следующим образом:
A>K>Q>J>T>9>8>7>6>5>4>3>2 # Ace, King, Queen, Jack, Ten, 9, ...
Текущее регулярное выражение, которое я должен найти «старшую карту» в руке, выглядит следующим образом:
>>> re.search('.*(A|K|Q|J|T|9|8|7|6|5|4|3|2)','2Q3AK').group(1)
'K'
ЭтоМожно ли сделать вышеупомянутое без такого чередования? Я попытался записать 9-2 как [9-2]
, но кажется, что классы персонажей нужно упорядочивать по возрастанию, и в этом случае он не будет правильно определять старшую карту. Какое будет правильное / лучшее регулярное выражение для приведенного выше примера?
Примечание: приведенный выше пример неверен - правильный ответ должен быть «А», а не «К». Вот обновленная попытка:
>>> re.search('.*(A)|.*(K)|.*(Q)|.*(J)|.*(T)|.*(9)|.*(8)|.*(7)|.*(6)|.*(5)|.*(4)|.*(3)|.*(2)', '2Q3AK').group(1)
'A'