C#Regex:标记到锚点链接

时间:2014-10-18 12:57:59

标签: c# html regex html5 replace

我有自定义标签,如下所示:

[document:13]text[document]

[item:2]texttext[item]

13 2 id,而:之前是type

所以我想做的是将替换字符串中的所有这些标记。

第一行将替换为<a href="example.com/document?id=13">text</a>

我目前正在尝试Regex.Match,但id是一个变量,可能是任何东西,而这就是我被困住的地方。

干杯! :)

2 个答案:

答案 0 :(得分:0)

你需要这样的东西

\[(\w+):(\d+)\]([^]]+)\[\1\]

并替换为

<a href="example.com/$1?id=$2">$3</a>

DEMO

答案 1 :(得分:0)

这适用于C#

var input = "[document:13]text[document]";
var output = Regex.Replace(input, @"\[(\w+):(\d+)\]([^\[]+)\[\1\]", @"<a href=""example.com/$1?id=$2"">$3</a>");