我有以下文字:
text_to_transform = "... sistema solar número 90377;[7]\u200b[n. 3]\u200b concretamente ..."
我正在使用正则表达式替换模式[number]\u200b
和[n. number ]\u200b
。请注意,在此示例中,它们一个接一个地发生,但在数据中不一定是这样。
这是我的尝试,但由于某种原因,它没有把它拿起来。
re.sub(r'\[[^)]*\]\\u200b', '', text_to_transform)
答案 0 :(得分:0)
您需要将零宽度空格与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 +字符,然后]
,而正则表达式匹配{ {1}},然后是 [
以外的0 +字符,然后是)
,即它可以在]
和[
之间匹配。