Análisis sintáctico

Para implementar el algoritmo anterior, necesitamos ser capaces de recorrer una cadena y separarla en operandos y operadores. Este proceso es un ejemplo del análisis sintáctico, y los resultados—la piezas individuales de la cadena—son
tokens.

Python posee un método llamado split (partir) en el módulo string (cadena)
y en el módulo re (expresiones regulares). La función string.split parte una cadena y la convierte en una lista utilizando un sólo carácter como delimitador.
Por ejemplo:

En este caso, el delimitador es el carácter espacio, y se parte la cadena en cada espacio.

La función re.split es más potente, y nos permite utilizar una expresión regular en vez de un delimitador. Una expresión regular es una manera de especificar un conjunto de cadenas. Por ejemplo, [A-z] es el conjunto de todas las letras y [0-9] es el conjunto de todas las cifras. El operador ^ niega un conjunto, y [^0-9] es el conjunto de todo lo que no es un número, lo cual es exactamente lo que queremos utilizar para partir expresiones en el formato postfijo:

Fı́jese que el orden de los argumentos es diferente a string.split; el delimitador viene antes de la cadena.

La lista resultante incluye los operandos 123 y 456 y los operadores * y /. También incluye dos cadenas vacı́as que se insertan después de los operandos.