1

我有一些看起来像这样的现有代码:

[tag:cb cbid="12345" cbwidth="200" cbclassname="calloutbox" cbposition="left"] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
[tag:cb cbid="123" cbwidth="200" cbclass="calloutbox2" cbposition="left"] Suspendisse eleifend enim a magna pretium porttitor.

我需要编写一个 VB .Net 全局函数来匹配这些[tag:cb]并采用可选参数并用 Html 标记重写字符串。

<div id="12345" width="200" class="calloutbox" position="left">content (based on id)</div>

任何帮助表示赞赏。谢谢。

4

1 回答 1

1

这是一个开始:

^\[tag:cb([^\]]*)\](.*)$

然后你使用 capturegroup 1 和 2 来制作新的字符串:

<div$1>$2</div>

这将产生类似的东西:

<div cbid="12345" cbwidth="200" cbclassname="calloutbox" cbposition="left"> Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
<div cbid="123" cbwidth="200" cbclass="calloutbox2" cbposition="left"> Suspendisse eleifend enim a magna pretium porttitor.</div>

问题是它仍然会有类似的属性,cbid="123"而不是id="123". 最好您希望通过另一个正则表达式运行它来替换所有出现的cb([^=]*)并替换为捕获组 1。

这将输出以下内容:

<div id="12345" width="200" classname="calloutbox" position="left"> Lorem ipsum dolor sit amet, consectetur adipiscing elit.</div>
<div id="123" width="200" class="calloutbox2" position="left"> Suspendisse eleifend enim a magna pretium porttitor.</div>

您现在所要做的就是在 VB .Net 中实现它:)

您可以在此处查看第一部分:http
://regexr.com?2vbkq和第二部分:http ://regexr.com?2vbl3

于 2011-11-30T20:40:30.223 回答