在Python RE中匹配模式之前和之后

时间:2018-10-29 07:42:45

标签: python regex python-3.x

我有以下字符串。

string1 = "按照由 GPV 提供的相关报告; 世界卫生组织 WHO 发布的有关研究"
string2 = "\n\n 介绍 INTRODUCTION"

如何删除中文和英文首字母缩写词之间的空格?

预期结果是: "按照由GPV提供的相关报告; 世界卫生组织WHO发布的有关研究"

但是,由于介绍的右侧没有中文字符,因此re模式不应不要删除INTRODUCTIONINTRODUCTION之间的空格。 / p>

1 个答案:

答案 0 :(得分:1)

如果您可以使用第三方正则表达式实现模块regex,则它支持\p{script}令牌,这使此任务变得容易:

\p{Han}+\s+\p{Latin}+\s+\p{Han}+

很不幸,Python原生re不支持这些。

为了删除空格,请使用捕获组选择周围的单词并参考替换样式中的单词:

Match          (\p{Han}+)\s+(\p{Latin}+)\s+(\p{Han}+)
Replace by     \1\2\3