You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正则表达式:替换非冒号同词的换行符为空格

解决方案

你需要的正则表达式可以通过负向预查实现,用来排除那些换行后紧跟设置项(即\S+:格式)的换行符,只替换属于同一设置内容的换行。

正则表达式与代码示例

import re

string = '\nsetting1: short string\nsetting2: much longer string\nwith a newline in it\nsetting3: short string\n'
# 正则表达式:匹配换行符,且换行后不是以"非空白字符+冒号"开头
regex = r'\n(?!\S+:)'
result = re.sub(regex, ' ', string)

print(repr(result))

输出结果

'\nsetting1: short string\nsetting2: much longer string with a newline in it\nsetting3: short string '

正则逻辑说明

  • \n:匹配目标换行符
  • (?!\S+:):负向预查断言,确保当前换行符之后不是以「一个或多个非空白字符+冒号」开头(也就是排除分隔不同设置项的换行符)。只有满足这个条件的换行符,才会被替换为空格。

这样就精准实现了你要的需求:保留设置项之间的换行,将同一设置内容内的换行替换为空格。

内容的提问来源于stack exchange,提问作者Ben Nouhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 09:54:50