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>

总结我的问题,我怎样才能让第一个和第三个数字都变为第一个数字,而第二个数字始终保持不变。我将提供一个指向我当前设置的示例的链接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 回答