私は正規表現で数字を使用して、最初の数字を開始点、最後の数字を終了点としてループを実行し、JavaScriptのコアオブジェクト、メソッド、または関数のみを使用してテキストを書きます。 は、私は、フォーム'<disp-formula id="deqn4-9">', '<disp-formula id="deqn15-17">' and so on..
で文字列の配列を持っていると私は以下のようなものを書きたい、この配列を使用して言ってやるがいい。 予想される出力:javascriptのループで、正規表現のマッチしたグループで番号範囲を使用するにはどうすればよいですか?
rid"4"/<disp-formula id="deqn4-9">
rid"5"/<disp-formula id="deqn4-9">
rid"6"/<disp-formula id="deqn4-9">
rid"7"/<disp-formula id="deqn4-9">
rid"8"/<disp-formula id="deqn4-9">
rid"9"/<disp-formula id="deqn4-9">
rid"15"/<disp-formula id="deqn15-17">
rid"16"/<disp-formula id="deqn15-17">
rid"17"/<disp-formula id="deqn15-17">
は基本的に、それがarrayから番号の範囲をとり、一つ一つの番号を使用していますその範囲に該当し、上記の方法でそれを書いてください。 私は以下のコードを試みた:
var myString = ['<disp-formula id="deqn4-9">', '<disp-formula id="deqn15-17">'];
var myRegexp = /(\d+)-(\d+)/g;
my_arr = myRegexp.exec(myString);
while (my_arr != null) {
var a1 = my_arr[0];
var xs = a1.split("-");
var new1=xs[0];
var new2=xs[1];
for (var i=new1; i<=new2; i++){
console.log('rid"'+i+'"/'+myString[0]);
}
var a2 = my_arr[1];
var ys = a2.split("-");
var _new1=xs[0];
var _new2=xs[1];
for (var j=_new1; j<=_new2; j++){
console.log('rid"'+j+'"/'+myString[1]);
}
my_arr = myRegexp.exec(myString);
}
をしかし、それは
rid"4"/<disp-formula id="deqn4-9">
rid"5"/<disp-formula id="deqn4-9">
rid"6"/<disp-formula id="deqn4-9">
rid"7"/<disp-formula id="deqn4-9">
rid"8"/<disp-formula id="deqn4-9">
rid"9"/<disp-formula id="deqn4-9">
rid"4"/<disp-formula id="deqn15-17">
rid"5"/<disp-formula id="deqn15-17">
rid"6"/<disp-formula id="deqn15-17">
rid"7"/<disp-formula id="deqn15-17">
rid"8"/<disp-formula id="deqn15-17">
rid"9"/<disp-formula id="deqn15-17">
rid"15"/<disp-formula id="deqn4-9">
rid"16"/<disp-formula id="deqn4-9">
rid"17"/<disp-formula id="deqn4-9">
rid"15"/<disp-formula id="deqn15-17">
rid"16"/<disp-formula id="deqn15-17">
rid"17"/<disp-formula id="deqn15-17">
を返す私はここで間違って何をしているのですか?
に移ります
に
たのですか? – marvel308@ marvel308予想される出力は問題のコードの最初のブロックです。私はその質問を修正した。 –