2016-04-19 15 views
-1

を次のコードに置き換えて "index"配列文字列を置き換えると、文字列中の1を得ることができます。Javascript正規表現

var match = /[0-9]+/.exec('[1][2]'); 
console.log(match); 

2を取得して1を取得しません。

+0

をエスケープの問題だけだと思う​​例えばMDNを参照してください。この正規表現

console.log(/(\[[0-9]\])+/.exec('[1][2]')); 

てみます。https://developer.mozilla .org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec置換を実行することを目標としている場合、execメソッドを使用する必要はなく、String.prototype.replaceをgパラメータ。 –

+0

'var match = '[1] [2]'を使用してください。一致(/ [0-9] +/g).pop();' –

+0

最後のコードは醜いですが動作します。ありがとうございました! 'item.attr({name:name.replace(name.match(/ [0-9] +/g).pop()、clone.attr( 'data-ordem'))}); ' –

答えて

0

私は、それはあなたがwhileループを使用する必要が角括弧

+0

'各繰り返しで前回のキャプチャが次のキャプチャで上書きされるため、キャプチャグループを繰り返します。 –

+0

はい、彼は '2'を手に入れるように頼んだのですが、私はそれを"最新のものを入手する "と仮定しました。 – Pietro