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

正则表达式需求:保留含数字复合词,删除独立数字序列

解决方案

方案1:替换移除纯数字单词

使用正则匹配所有仅由数字和点组成的独立单词,替换为空后清理多余空格:

正则表达式:

\b(?:\d+\.?)*\d+\b

示例代码(JavaScript):

const input = "Hola B2B 234234 2.2.2";
const output = input.replace(/\b(?:\d+\.?)*\d+\b/g, '').replace(/\s+/g, ' ').trim();
console.log(output); // 输出: "Hola B2B"

正则说明:

  • \b:匹配单词边界,确保目标是独立的单词
  • (?:\d+\.?)*:非捕获组,匹配「一个/多个数字 + 可选点」的组合,可重复0次或多次(适配多段数字如2.2.2)
  • \d+:确保匹配内容以数字结尾,避免误匹配单独的点
  • g:全局匹配所有符合条件的单词

方案2:提取符合要求的单词

直接匹配所有包含至少一个字母的单词(包括字母数字复合词和纯字母单词),再拼接结果:

正则表达式:

\b[a-zA-Z\d]*[a-zA-Z][a-zA-Z\d]*\b

示例代码(JavaScript):

const input = "Hola B2B 234234 2.2.2";
const validWords = input.match(/\b[a-zA-Z\d]*[a-zA-Z][a-zA-Z\d]*\b/g) || [];
const output = validWords.join(' ');
console.log(output); // 输出: "Hola B2B"

正则说明:

  • \b:单词边界
  • [a-zA-Z\d]*:匹配任意数量的字母或数字(开头部分)
  • [a-zA-Z]:强制匹配至少一个字母,彻底排除纯数字单词
  • [a-zA-Z\d]*:匹配任意数量的字母或数字(结尾部分)
  • g:全局匹配所有符合条件的单词

边界测试验证

  • 输入:"A1 1A 123 4.5.6 Test" → 输出:"A1 1A Test"
  • 输入:"Hello World 789 0.0" → 输出:"Hello World"

内容的提问来源于stack exchange,提问作者LΞИIИ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:02:31