用Javascript解析特殊标记

Parsing special markup with Javascript

本文关键字:Javascript      更新时间:2023-09-26

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

其语法为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>.

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

@?('d+):('d+)

你可以这样使用:

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

强烈建议您熟悉正则表达式和替换函数,以便进一步参考。