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

正则表达式修改需求:将首尾带单引号的单词作为整体匹配

正则表达式调整需求

当前代码

const regex = /[\s]|('[^']')|[\w-]+|[']/gm;

运行匹配代码:

console.log("'one 'two' three'".match(regex) || []);

当前输出

[
    "'",
    "one",
    " ",
    "'",
    "two",
    "'",
    " ",
    "three",
    "'"
]

期望输出

[
    "'",
    "one",
    " ",
    "'two'",
    " ",
    "three",
    "'"
]

解决方案

原正则的('[^']')分支仅能匹配单引号包裹单个字符的场景,且分支顺序导致单引号会被优先单独匹配。要实现需求,需修改两个点:

  1. 将匹配单引号包裹内容的分支改为'[^']+',支持匹配单引号内的任意长度非单引号字符(至少1个)
  2. 调整分支顺序,让完整的'xxx'结构优先匹配,避免单引号被拆分

修改后的正则:

const regex = /'[^']+'|\s|[\w-]+|'/gm;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 13:47:01