Regular expression: match start or whitespace February 2, 2023 by Tarik Use the OR “|” operator: >>> re.sub(r'(^|\W)GBP([\W\d])', u'\g<1>£\g<2>', text) u'\xa3 5 Off when you spend \xa375.00'