2011-01-23 42 views
3

我有一个相当复杂的正则表达式匹配几个字符串。作为要求的一部分,我需要用截断的版本替换一些匹配的文本。使用反向引用我得到的文本,但我如何使用“string”.replace()截断它,例如只有前10个字符?由于每个字符串可能有多个匹配项,我不想手动提取和截断文本。Javascript正则表达式中反向引用的长度限制

回答

2

在Javascript中1.3很可能通过一个函数作为替代参数:

s = s.replace(/someregularexpression/g, function(x){ return x.substr(0, 10); }); 

(source)

+0

这也适用于任何的JScript的版本是IE 5及更高版本。简而言之,这适用于所有主流浏览器。 – 2011-01-23 18:21:38