2017-12-13 12 views
0

はlastIndexのもinfiliteであり(「G」フラグ無しとして)値戻り等しい結果は、理由を理解することができません。にregexp.exec無限ループ

UPDATE:私はすべてのコードを掲載していないため、私はそれを解決では、問題は、私は

+3

あなたのwhile条件は決して変更されないので、どのように偽になりループを離れることができますか? – xander

+1

RegExpで常に同じデータを使用するため、結果が一致するため、ループを永遠に続ける真理値が常にあります。 – Dormilich

+0

RegExp.execは、文字列の最後にあるときにnullを返す必要がありますか?なぜlastIndexが無限に増加するのですか? – user2601969

答えて

0

ので...申し訳ありませんしばらくでnoveValue.reaplceを()()、使用されたことをループは、すべて一致している間のための条件変数のいずれかを切り捨てたり変更したりする必要があるためです。

Like: 


var sRegexp=new RegExp("([\\d\\s\\.]+)\\s*("+iconsStr+")","g"); 
var value=sRegexp.exec(nodeValue); 
console.log(value); 
    for(item in value) 
    { 
     if(!isNaN(parseInt(item))) 
     { 
     console.log(item + ", " + value[item]); //in this item return the index of every array element and value[item] provide the matched value. 
     } 


    } 
+0

私は値を割り当ててみてください= "";しかしこれは役に立たなかった...そして.execは文字列の終わりにNULLを返さなければならないが、これは起こらない... – user2601969

+0

更新されたコードをチェックする –