0

コピー&ペーストすると

<tt>1<tt>2<tt>3<tt>

この関数に:

function process() {
var content=
document.getElementById('content').value;

content= content. replace(/<tt>)(.*?)(<tt>(.*?)<tt>(.*?)<tt>/g, '<$2><$2><$2>');

document.getElementById('content').value=content;
}

HTML

<textarea id="content" cols="48" rows="8">
</textarea><br/>
<input type="button" value="Process"
onclick="process()"/>

プロセスをクリックすると、次の結果が得られます。

<1><1><1>

代わりにこの結果を得るにはどうすればよいですか?

<1><2><1>

このコンテンツを単純に使用することはできません。

content= content. replace(/<tt>)(.*?)(<tt>(.*?)<tt>(.*?)<tt>/g, '<$2><2><$2>');

数値は変更される可能性があるため、希望する結果を得るには: たとえば、ある日、

<tt>2<tt>5648<tt>19897<tt> 

現在、次の結果が得られます。

<2><2><2>

私はそれがこの結果をもたらすことを望んでいますが:

<2><5648><2>

私の質問を要約すると、最初と 3 番目の数字の両方を 1 番目の数字に変更し、2 番目の数字は常に一定のままにする方法を教えてください。現在セットアップされている例へのリンクを提供しますhttp://jsfiddle.net/WVUYX/35/

4

1 に答える 1

1

これを試して:

.replace(/<tt>(\d+)<tt>(\d+)<tt>\d+<tt>/,"<$1><$2><$1>")
于 2013-02-15T22:32:34.707 に答える