使用Javascript

时间:2016-10-23 14:42:47

标签: javascript regex

我有一个包含一些特殊标记的文本。冒号分隔两个整数,表示这将是指向特殊页面/文件/文档的链接。

其语法为DOC_ID:SECTION_ID@符号可选在前面。

如何使用常规HTML链接替换此特殊标记,删除@符号(如果有)?

原文:

Lorem ipsum @2:6 dolor sit amet, consectetur adipiscing 5:22 fermentum ex. @99:12 Mauris euismod lacus ut lacus maximus laoreet 44:9.

输出:

Lorem ipsum <a href="/document/2/section/6">2:6</a> dolor sit amet, consectetur adipiscing <a href="/document/5/section/22">5:22</a> fermentum ex. <a href="/document/99/section/12">99:12</a> Mauris euismod lacus ut lacus maximus laoreet <a href="/document/44/section/9">44:9</a>.

1 个答案:

答案 0 :(得分:1)

我相信你正在寻找的正则表达式是

@?(\d+):(\d+)

您可以这样使用它:

var newStr = str.replace(/@?(\d+):(\d+)/g, '<a href="/document/$1/section/$2">$1:$2</a>');

强烈建议您熟悉regular expressionsreplace function以供进一步参考。