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

JavaScript如何用正则按+分割字符串且不匹配SPK段内的L+R

JavaScript 分割实现方案

直接使用带断言的正则作为split方法的参数即可:

const rawStr = '23DGERA@SPK_20W L+R FA-2@1+342HSHC@CPU_8PIN INTEL_TEST!@1+2356GHMX@SSD_256G MICRON_CONTENT@2 + blablabla'
// 核心正则:排除夹在L和R中间的+号,同时自动过滤+号前后的空格
const splitResult = rawStr.split(/(?<!L)\s*\+\s*(?!R)/)
console.log(splitResult)

输出结果:

[
  '23DGERA@SPK_20W L+R FA-2@1',
  '342HSHC@CPU_8PIN INTEL_TEST!@1',
  '2356GHMX@SSD_256G MICRON_CONTENT@2',
  'blablabla'
]

正则逻辑说明

  • (?<!L):负向回顾断言,确保匹配的+前面不是大写字母L
  • \s*:匹配0个或多个空白字符,自动处理+前后可能存在的空格
  • \+:匹配+本身
  • (?!R):负向前瞻断言,确保匹配的+后面不是大写字母R

兼容性说明

该语法使用了ES2018引入的负向回顾断言,所有现代浏览器(Chrome 62+、Firefox 78+、Safari 11.1+)以及Node.js 10+版本均原生支持,无需额外兼容处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:24:04