¿Puede una expresión regular hacer coincidir los espacios en blanco o el comienzo de una cadena?Expresión regular: partida de inicio o espacio en blanco
Estoy tratando de reemplazar moneda con la abreviatura GBP con un símbolo £. Podría igualar cualquier cosa que empiece en GBP, pero me gustaría ser un poco más conservador y buscar ciertos delimitadores a su alrededor.
>>> import re
>>> text = u'GBP 5 Off when you spend GBP75.00'
>>> re.sub(ur'GBP([\W\d])', ur'£\g<1>', text) # matches GBP with any prefix
u'\xa3 5 Off when you spend \xa375.00'
>>> re.sub(ur'^GBP([\W\d])', ur'£\g<1>', text) # matches at start only
u'\xa3 5 Off when you spend GBP75.00'
>>> re.sub(ur'(\W)GBP([\W\d])', ur'\g<1>£\g<2>', text) # matches whitespace prefix only
u'GBP 5 Off when you spend \xa375.00'
¿Puedo hacer los dos últimos ejemplos al mismo tiempo?
¿Qué idioma es este? ¿Es Perl? –
Python. –
Sí Python, pero el concepto es el mismo independientemente. – Mat