Python regexp-删除标点符号,但保留<;unk>;原样 问题:

Python regexp-删除标点符号,但保留<;unk>;原样 问题:,python,regex,Python,Regex,请建议删除标点符号的方法,但不要删除或中的标点符号 例如,来自: 石棉纤维 结果: 石棉纤维unk |一旦进入带有的捕获组,就会异常unk。您可以使用捕获组来保留,匹配不包括空格字符的非单词字符,并用单个空格替换双空格字符(可能在第一次替换后出现) (?i)(?<!\S)(<unk>)(?!\S)|[^\w\s]+ 输出 the asbestos fiber <unk> unk is unusually unk once it enters the unk wi

请建议删除标点符号的方法,但不要删除
中的标点符号

例如,来自:

石棉纤维
结果:

石棉纤维unk |一旦进入带有

的捕获组,就会异常unk。您可以使用捕获组来保留
,匹配不包括空格字符的非单词字符,并用单个空格替换双空格字符(可能在第一次替换后出现)

(?i)(?<!\S)(<unk>)(?!\S)|[^\w\s]+
输出

the asbestos fiber <unk> unk is  unusually unk once it enters the unk with
石棉纤维unk一旦进入unk,就会异常unk

您可以使用以下正则表达式搜索匹配项并将其替换为空格:

(?:(?!<unk>)[\W_](?<!<unk>))+

预期输出是什么?什么是“in
”意思?在两个
标记之间?
the asbestos fiber <unk> unk is  unusually unk once it enters the unk with
(?:(?!<unk>)[\W_](?<!<unk>))+