如何在代码中的其他地方使用正则表达式找到的文本

时间:2014-05-21 09:13:46

标签: javascript regex

我有这行代码

thePage.html(thePage.html().replace(/DECC([A-Z]{2}|[A-Z]{3})[A-Z]-[0-9]+-[0-9]+/g, '<a class="DeccDocumentId" onclick="TG.DECC.EDRMSLinks.redirectToDocument()">$1$2$3</a>'));

我想用仍然使用该文本的链接替换正则表达式找到的文本,我已经尝试(很可能是错误的)以$ 1 $ 2 $ 3的形式进行反向引用,但它不起作用。

如果有任何帮助,我试图替换的文字是

DECCMIA-1-1

DECCMIC-1-103

DECCFCSE-92-12

结果是这样的

MI $ 2 $ 3

MI $ 2 $ 3

FCS $ 2 $ 3

1 个答案:

答案 0 :(得分:1)

取代$&amp;指整个比赛,$ 1,$ 2,..指比赛中的个别捕捉组。您在表达式中只使用一个捕获组。

/DECC([A-Z]{2}|[A-Z]{3})[A-Z]-[0-9]+-[0-9]+/g
([A-Z]{2}|[A-Z]{3}) // $1 refers to this capture group.

但是你在替换时尝试引用三个。