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

如何使用正则表达式分割字符串得到指定双元素数组?

解决方案:分割字符串为指定的二元数组

思路分析

我来帮你梳理下解决思路:咱们的目标是把给定字符串拆成两个元素的数组,第一个是前面的完整句子,第二个是括号里的大写字母组合。首先得抓住原字符串的结构特点——它的结尾是 (大写字母组合),所以我们可以从这里入手:

  • 构造一个正则表达式,精准匹配字符串末尾的 (XXX)部分,同时用捕获组把括号里的大写字母提取出来;
  • 利用JavaScript split方法的特性:如果正则包含捕获组,捕获到的内容会被加入分割后的数组;再通过$锚定到字符串结尾,这样就不会在数组末尾产生多余的空元素,刚好得到长度为2的数组。

具体实现代码

const str = 'Some words in a sentence (ABC)';
// 正则匹配末尾的空格+括号+大写字母组合,同时捕获大写字母部分
const regex = /\s*\(([A-Z]+)\)$/;
const arr = str.split(regex);

// 验证断言要求
console.log(arr[0]); // 输出: 'Some words in a sentence'
console.log(arr[1]); // 输出: 'ABC'
console.log(arr.length); // 输出: 2

正则表达式细节拆解

  • \s*:匹配0个或多个空格,兼容句子和括号之间有空格或者无空格的情况;
  • \(:转义左括号,匹配实际的左括号字符(因为括号在正则里是特殊字符);
  • ([A-Z]+):捕获组,匹配1个及以上的大写字母,这部分就是我们要的数组第二个元素;
  • \):转义右括号,匹配实际的右括号字符;
  • $:锚定到字符串结尾,确保我们只匹配字符串最末尾的括号部分,不会干扰字符串中间可能出现的括号。

这样处理后,完全满足你提出的所有断言要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:34:07