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

JavaScript正则表达式:移除含可选空格的相似短语(大小写不敏感)

JavaScript正则表达式移除指定相似短语(大小写不敏感+支持缺失空格)

没问题,这就给你写一个满足需求的正则实现,同时拆解思路帮你理解:

核心实现代码

const str = "The quick brown fox jumpa over the lazy dog";
// 匹配目标短语的正则,支持大小写不敏感、词间缺失空格、全局替换
const targetRegex = /fox\s*jump[aA]s?\s*over\s*the\s*lazy\s*(dog|cat)/gi;
const processedStr = str.replace(targetRegex, '');

console.log(processedStr); // 输出: "The quick brown "

正则思路拆解

我们一步步适配你的需求:

  • 大小写不敏感:正则末尾的i修饰符会忽略所有字母的大小写差异,能匹配FOX、JumpA这类变体
  • 词间缺失空格:在每个单词之间加上\s*,表示允许0个或任意多个空白字符(包括空格、制表符等,如果只需要匹配空格可以换成 *),完美适配jumpaoverthe这种缺失空格的情况
  • 覆盖所有目标短语变体:
    • 动词部分用jump[aA]s?:匹配jumpa/jumpA/jumps/jumpS这些变体(s?表示s是可选的,对应原短语里带s和不带s的情况)
    • 结尾名词用(dog|cat):精准匹配目标里的dog和cat
  • 全局替换:末尾的g修饰符会把字符串中所有匹配到的目标短语都移除,而不是只替换第一个

多场景测试示例

我们用几个典型场景验证效果:

// 场景1:缺失空格+混合大小写
const str1 = "Hi FOX jumpaoverthe lazy CAT test";
console.log(str1.replace(targetRegex, '')); // 输出: "Hi  test"

// 场景2:标准短语+全大写
const str2 = "FOX JUMPS OVER THE LAZY DOG is a classic pangram";
console.log(str2.replace(targetRegex, '')); // 输出: " is a classic pangram"

// 场景3:多个目标短语并存
const str3 = "fox jumps over the lazy dog and fox jumpa over the lazy cat";
console.log(str3.replace(targetRegex, '')); // 输出: " and "

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:12:02