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

如何用正则表达式拆分含指定字符串、数字及单个字符的文本

正则表达式实现字符串按指定规则拆分

我想用正则表达式将字符串拆分为特定片段,预期效果如下:

输入: "3.0catsdogs}qd7cats8.0dogs"
// 指定匹配字符串: "cats", "dogs"

输出数组: ["3.0","cats","dogs","}","q","d","7","cats","8.0","dogs"]

拆分规则:数组中的每个元素需匹配指定字符串、数字(整数或浮点数),若均不满足则拆分为单个字符。

我知道可以用if条件和for循环实现,但过程繁琐。无法找到合适的正则表达式来整合这些条件,尤其是在不满足前两种情况时拆分为单个字符的逻辑。希望用少量代码实现,避免冗余的条件与循环。

我曾设想先拆分数字与非数字部分,再通过while循环和if条件检查非数字部分是否包含指定字符串,逐步拆分,但这种方式非常不理想,过程示例如下:

输入: "3.0catsdogs}qd7cats8.0dogs"
// 指定匹配字符串: "cats", "dogs"

正则初步拆分结果: ["3.0","catsdogs}qd","7","cats","8.0","dogs"]

// 迭代1输入为上述正则结果
循环迭代1: ["3.0","cats","dogs}qd","7","cats","8.0","dogs"]
循环迭代2: ["3.0","cats","dogs","}qd","7","cats","8.0","dogs"]
循环迭代3: ["3.0","cats","dogs","}","qd","7","cats","8.0","dogs"]
循环迭代4: ["3.0","cats","dogs","}","q","d","7","cats","8.0","dogs"]
循环迭代5: 无更多可拆分内容,结束

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:42:14