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

正则表达式求助:优化空格分隔数字间插入句号的规则

正则表达式修改需求

输入示例

原始文件名内容:

RP Distort2 1 0 0b.exe
AFakeFilename4 5 0 2 SEP2 5 63 8
A4 5 8 7 6 COM99 6 4 4 1
TestSoftware v1 5 5

期望输出

转换后的目标内容:

RP Distort2 1.0.0b.exe
AFakeFilename4 5.0.2 SEP2 5.63.8
A4 5.8.7.6 COM99 6.4.4.1
TestSoftware v1.5.5

当前问题

  • 现有正则表达式:(?<=\d) (?=\d),替换字符为 .
  • 缺陷:会错误地在单词末尾数字与后续数字之间插入句号,例如将 RP Distort2 1 0 0b.exe 转为 RP Distort2.1.0.0b.exe,不符合预期
  • 补充要求:若数字紧跟单个 v(如 TestSoftware v1 5 5),需将空格替换为句号,得到 TestSoftware v1.5.5

解决方案

利用工具支持的完整环视语法,修改正则表达式以精准匹配需要替换的空格位置:

查找正则:(?:(?<=\b\d) | (?<=v\d) )(?=\d)
替换字符:.

规则解释

  • (?<=\b\d):匹配位于单词边界+数字之后的空格,确保前面的数字是独立序列(比如 1 中的空格,而非 Distort2 中的空格,因为 2 属于单词的一部分,不满足单词边界条件)
  • (?<=v\d):匹配位于v+数字之后的空格,专门处理v1 5这类带版本前缀的场景
  • (?=\d):确保空格后方是数字,避免误替换其他位置的空格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:34:50