I'm trying to replace this [^19) Jones, Owen. with this [^19] Jones, Owen. using this regexp statement:
re.sub(r'(?<=\[\^[0-9])(\) )','] ', text)
But no replacement occurs and I'm unable to find the issue. Please help.
CodePudding user response:
You need to use
re.sub(r'(\[\^\d )\) ', r'\1] ', text)
See the regex demo.
Details:
(\[\^\d )- Group 1 (whose value is referred to with\1from the replacement pattern):[^and one or more digits\)- a)string.
Note you cannot use a lookbehind here, since \d matches a non-fixed amount of digits, and Python re lookbehind requires fixed-width patterns.
