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

正则正向预查:如何移除数字前可变数量空格(规避后向预查宽度问题)

解决方案

要移除数字前的可变数量空格,无需复杂的预查组合,以下两种正则实现方式可精准完成需求:

方式一:分组保留关键内容,替换时拼接

匹配模式(启用忽略大小写):

(?i)(Kurz)\s+(\d*\.\d*)(?=\s*Per\s[ec][uz][rk])

替换为:

$1$2
  • 逻辑:将Kurz和目标数字分别捕获为分组1、分组2,中间的\s+是需要删除的1个或多个空格;末尾的正向预查确保仅匹配Per(及对应币种)前的目标数字,避免误匹配其他位置的空格。
  • 效果:原字符串Propocet na CZK Kurz 1.00000 Per CZK.会被替换为Propocet na CZK Kurz1.00000 Per CZK.

方式二:直接匹配待删除的空格,替换为空

匹配模式(启用忽略大小写):

(?i)(?<=Kurz)\s+(?=\d*\.\d+\s*Per)

替换为空字符串即可。

  • 逻辑:用后向预查(?<=Kurz)限定空格位于Kurz之后,正向预查(?=\d*\.\d+\s*Per)限定空格位于目标数字及Per之前,精准锁定需要删除的可变数量空格。

补充说明

你之前的正则问题在于试图在单个预查结构里同时处理空格和数字,反而增加了复杂度。以上两种方式都能直接定位待删除的空格,完全用正则实现需求,无需借助Remove函数。

内容的提问来源于stack exchange,提问作者Honza Lemon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 19:06:31