2014-10-18 82 views
0

我有一个看起来像这样的自定义标签:C#正则表达式:标签用于锚链接

[document:13]text[document] 

[item:2]texttext[item] 

的和是id:之前是type

所以我想要做的是,一个字符串中的所有这些标签将被替换。

第一行都会被替换成<a href="example.com/document?id=13">text</a>

我目前正试图Regex.Match然而id是一个变量,可以是任何东西,这就是我在哪里卡住了。

干杯! :)

+0

会是怎样的输出第二个? – 2014-10-18 12:59:24

回答

0

你需要像这样

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

而且随着

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

DEMO

+0

谢谢! :)你们在哪里学习这些表情?总是有困难与他们 – Caresi 2014-10-18 13:15:51

+0

@ user3194181主要回答在这里,我发现'regexr.com'是有帮助的:) – 2014-10-18 13:18:12

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>");