我有类似以下的字符串,我需要为该数组拆分字符串。这是三个示例:
"4M2V1T"
["4M", "2V", "1T"]
"1V3M1T**3**"
["1V", "3M", "1T**3**"]
"1V**33M**1T"
["1V", **"33M"**, "1T"]
请为我提供正确的正则表达式和分割函数以解决该问题。
答案 0 :(得分:1)
尝试按以下模式分割:
function get() {
return new Promise(function (resolve, reject) {
Card.find([
{ $sample: {size: 3} },
{ $match: {"deckId": req.body.deckId} }
]).exec(function(err,result){
if(err){
reject(err);
}else{
resolve(result)
}
});
});
}
这将匹配字符串中紧随其后的是字母,紧随其后的是一个或多个数字,然后依次跟有字母的任何点。这样可以确保只有在我们确定这样做会产生另一个真正的数字字母组的情况下才进行拆分。
(?<=[A-Za-z])(?=\d+[A-Za-z])