如何从第一个字母开始创建所有子字符串?

时间:2018-04-08 23:38:14

标签: regex

如何创建具有以下结果的正则表达式:

输入:apple

输出:a,ap,app,appl,apple

我得到了这个“[^”] +“|([^]] +)| [^”\ s()] +但它似乎不起作用。我正在尝试输出一个文本数组,我需要使用正则表达式。

1 个答案:

答案 0 :(得分:0)

两个简单的嵌套循环应该足够,代码结构在所有语言中应该或多或少相似:

str=`apple`;

for(var i=0;i<str.length;i++)
{
  tmp="";
  for(var j=0;j<=i;j++)
      tmp+=str[j];
  console.log(tmp);
}

如果您必须使用正则表达式来解决它,这有点奇怪,但这可以在正则表达式的帮助下完成:

str=`apple`;
finalStr=str.split("").reverse().join("");
var result=[];
const regex = /.(?=(.*))/g;
let m;
while ((m = regex.exec(finalStr))!== null) 
  result.push((m[0]+m[1]).split("").reverse().join(""));
  
result=result.reverse();
console.log(result);