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

使用正则将字符串转为不同长度数组,能否生成指定格式数组?

当然可以实现!

不过得先明确你的原始输入字符串是什么?毕竟正则表达式是基于输入文本做匹配提取的,我先针对几种最常见的场景给你解决方案:

场景1:输入是带分隔符的字符串

如果你的原始字符串是类似 "1,12,2,13" 或者 "1|12|2|13" 这种用分隔符隔开目标元素的格式,根本不用复杂正则,直接用字符串分割方法就行:
比如在JavaScript里:

const inputStr = "1,12,2,13";
const targetArray = inputStr.split(',');
// 结果就是 ['1', '12', '2', '13']

Python里也类似:

input_str = "1,12,2,13"
target_array = input_str.split(',')

场景2:输入是混杂其他字符的文本

如果你的原始字符串是类似 "1abc12def2ghi13" 这种目标数字串混杂在其他字符里的情况,用匹配数字串的正则就能直接提取:
JavaScript示例:

const inputStr = "1abc12def2ghi13";
const regex = /\d+/g;
const targetArray = inputStr.match(regex);
// 结果正好是 ['1', '12', '2', '13']

Python示例:

import re
input_str = "1abc12def2ghi13"
target_array = re.findall(r'\d+', input_str)

场景3:输入是连续字符,需要精准匹配特定子串

如果你的原始字符串是类似 "112213" 这种连续字符,而你需要精准提取1、12、2、13这几个特定子串,可以直接把这些目标子串写进正则,注意调整顺序来控制匹配优先级(先匹配长串避免被短串拆分):

const inputStr = "112213";
const regex = /13|12|1|2/g;
const targetArray = inputStr.match(regex);
// 结果会是 ['1', '12', '2', '13']

总之,只要你的输入字符串里包含这些目标元素的匹配源,用正则或者字符串分割方法完全可以得到你想要的数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:56:14