¿Hay una expresión regular para calcular la mano de póker recta?Regex para calcular la mano de póquer recta?
estoy usando cuerdas para representar las tarjetas ordenados, como:
AAAAK#sssss = 4 aces and a king, all of spades.
A2345#ddddd = straight flush, all of diamonds.
En Java, estoy usando estas expresiones regulares:
regexPair = Pattern.compile(".*(\\w)\\1.*#.*");
regexTwoPair = Pattern.compile(".*(\\w)\\1.*(\\w)\\2.*#.*");
regexThree = Pattern.compile(".*(\\w)\\1\\1.*#.*");
regexFour = Pattern.compile(".*(\\w)\\1{3}.*#.*");
regexFullHouse = Pattern.compile("((\\w)\\2\\2(\\w)\\3|(\\w)\\4(\\w)\\5\\5)#.*");
regexFlush = Pattern.compile(".*#(\\w)\\1{4}");
Cómo calcular los valores consecutivos (secuencias) con expresiones regulares?
EDITAR
abro otra cuestión a resolver el mismo problema, pero utilizando el valor ASCII de char, a regex ser corto. Detalles here.
Gracias!
De todas las cosas extrañas que he visto expresiones regulares se utilizan para, este tiene que ser el segundo bizarrest :-) – paxdiablo
No utilizar expresiones regulares para hacer esto. –
¡Muy creativo! – Doug