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

如何使用正则表达式在JavaScript中实现&、:字符后的字符串分割

JavaScript字符串按&和:后方分割的正则调整方案

你当前使用的(?=[:&]+)是前向肯定断言,匹配的是&/:字符前方的位置,所以拆分后符号会保留在后一段的开头,不符合从后方拆分的要求。
你只需要把前向断言替换为后向肯定断言即可,修改后的正则可根据需求二选一:

// 每个&/:后面都拆分
.split(/(?<=[:&])/g)
// 连续多个&/:的整体后方才拆分
.split(/(?<=[:&]+)/g)

实现原理

(?<=匹配规则)是后向肯定断言,匹配的是「前方刚好符合匹配规则」的位置,放在这里就是匹配&/:(或连续多个&/:)紧挨着的后方位置,在这个位置拆分就会把符号保留在前一段的末尾,完全符合需求。

测试示例

针对你给出的示例字符串,运行效果如下:

const targetStr = 'Public Protection & Housing Authority: $100,000,000.'
const splitResult = targetStr.split(/(?<=[:&])/g)
console.log(splitResult)
// 输出结果:
// [
//   'Public Protection &',
//   ' Housing Authority:',
//   ' $100,000,000.'
// ]

兼容性说明

后向断言是ES2018推出的特性,目前所有主流浏览器、Node.js 10.0及以上版本均已支持,可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 11:45:01