我有以下文字:
text_to_transform = "... sistema solar número 90377;[7]\u200b[n. 3]\u200b concretamente ..."
我正在使用正则表达式替换模式 [number]\u200b 和 [n.编号]\u200b。请注意,在此示例中,它们一个接一个地发生,但在数据中不一定如此。
这是我的尝试,但出于某种原因它没有接受。
re.sub(r'\[[^)]*\]\\u200b', '', text_to_transform)
请您参考如下方法:
您需要将零宽度空格与 r'\u200b' 匹配。您的正则表达式正在寻找 \ 后跟 u200b 子字符串,而不是 r'\\u200b'。
查看 Python 3 演示:
>>> import re
>>> text_to_transform = "... sistema solar número 90377;[7]\u200b[n. 3]\u200b concretamente ..."
>>> res = re.sub(r'\[[^]]*\]\u200b', '', text_to_transform)
>>> print(res)
... sistema solar número 90377; concretamente ...
>>>
另外,请注意 \[[^]]*\] 匹配 [,然后是 ] 以外的 0+ 个字符 然后是 ],而你的正则表达式匹配 [,然后是 ) 以外的 0+ 个字符和然后是 ],即它可以匹配 [ 和 ]。
