Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   поиск при помощи рег.выражений, чтобы в строке "java" нашло ["ja","av","va"] (https://javascript.ru/forum/misc/36113-poisk-pri-pomoshhi-reg-vyrazhenijj-chtoby-v-stroke-java-nashlo-%5B-ja-av-va-%5D.html)

slotmim 04.03.2013 15:57

поиск при помощи рег.выражений, чтобы в строке "java" нашло ["ja","av","va"]
 
как в javascript сделать поиск при помощи рег.выражений, чтобы в строке "java" нашло ["ja","av","va"]?

т.е что бы второе совпадение могло включать в себя первое и т.д.

Deff 04.03.2013 16:14

var str="java";
var arr = str.split('');
var reg='';

for(var i=0; i<arr.length-1; i++){
if(i)reg+='|';
reg+=arr[i]+'(?='+arr[i+1]+')';
}
reg = new RegExp(reg,'g');
alert(reg)

rgl 04.03.2013 16:30

var re = /ja|av|va/g;
var s = "java";
var allResults = [];

var result;

while( result = re.exec( s ) )
{
  allResults.push( result[0] );
  re.lastIndex = result.index + 1;
}
alert( allResults );

slotmim 04.03.2013 21:45

Похоже мой вопрос был не кореектен. Простите. Мне надо сочетание все букв найти в тексте.
т.е. если текст:
"привет мир"
, то получаем что то вроде
["пр", "ри", "ив", "ве", "ет", "ми", "ир"]
я думал это как то можно одной строчкой сделать, при помощи рег.выражений, но все решил делать циклом.

Спасибо за ответы:)


Часовой пояс GMT +3, время: 23:52.