¿Qué significa * En la expresión regular?

Estoy intentando obtener 482.75 del siguiente texto: 482.75

La expresión regular que utilicé es: regex = '(.+?)' y funcionó.

Pero lo que no entiendo es por qué [^.] * Puede coincidir con aapl aquí? Mi entendimiento es eso. significa cualquier carácter excepto una nueva línea; y ^ significa negador. Entonces [^.] Debe ser nueva línea y [^.] * Debe tener cualquier número de nuevas líneas. Sin embargo, esta teoría es contraria a la implementación en el mundo real.

Cualquier ayuda es apreciada y gracias de antemano.


El código de python que utilicé:

 import urllib import re htmlfile = urllib.urlopen("http://finance.yahoo.com/q?s=AAPL&ql=0") htmltext = htmlfile.read() regex = '(.+?)' pattern = re.compile(regex) price = re.findall(pattern, htmltext) print "the price of of aapl is", price[0] 

Dentro del [] el . significa solo un punto Y el encabezado ^ significa “todo menos …”.

Entonces [^.]* Coincide con cero o más puntos que no son puntos.

. punto en un juego de caracteres solo significa punto, literalmente.

Se aplican diferentes syntax y caracteres especiales (- guión para rango, ^ para negación) dentro de una especificación de coincidencia de caracteres. No se aplican otras syntax de patrón.