En una expresión regular:
* significa que se repite 0 o más veces.
+ significa que se repite 1 o más veces.
. significa cualquier carácter.
Desde un terminal en Python podemos ver que dado el carácter 'c' dan el mismo resultado:
Código:
>>> re.search(r'(.+)', 'c').group(0)
'c'
>>> re.search(r'(.*).', 'c').group(0)
'c'
>>> re.search(r'(.+)', 'esto es una cadena.').group(0)
'esto es una cadena.'
>>> re.search(r'(.*).', 'esto es una cadena.').group(0)
'esto es una cadena.'
Así que sí, son iguales, pero es mejor usar .+