长字符串的正则表达式解

时间:2019-05-18 07:29:45

标签: javascript arrays regex string

我有一个长字符串,例如“ 55511651484181456151555151”。现在,我想将它们分成4组,分别是[“ 5551”,“ 1651”,“ 4841”等。另外,如果找到类似“-”或空格的字符,则应跳过它们并继续使用字符串的其余部分。例如,给出了“ 5124-62512541”。因此,输出应类似于[“ 5124”,“-”,“ 6251”,“ 2541”]。我该如何使用正则表达式和JavaScript?

1 个答案:

答案 0 :(得分:1)

匹配四个数字一个非数字:

const str1 = "55511651484181456151555151";
const str2 =  "5124-62512541";
const regex = /\d{4}|[^\d]/g;
const res1 = str1.match(regex);
const res2 = str2.match(regex);
console.log(res1);
console.log(res2);
.as-console-wrapper { max-height: 100% !important; top: auto; }