全局正则表达式替换函数从方括号创建 Html []

发布于 2024-12-18 15:16:24 字数 543 浏览 2 评论 0原文

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

[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>

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

I have some existing code that looks something like this:

[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.

I need to write a VB .Net global function that will match these [tag:cb] and take the optional parameters and rewrite the string with Html tags.

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

Any help is appreciated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

真心难拥有 2024-12-25 15:16:24

这是一个开始:

^\[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([^=]*) 并替换为 capturegroup 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

Here's a start:

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

And then you use capturegroup 1 and 2 to make the new string:

<div$1>$2</div>

This will generate something like:

<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>

The problem is that it will still have attributes like cbid="123" instead of id="123". Preferably you would like to run it through another regexp to replace all occurances of cb([^=]*) and replace with capturegroup 1.

That would output the following:

<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>

All you have to do now is to implement it in VB .Net :)

You can see the first part in action here: http://regexr.com?2vbkq
and the second part here: http://regexr.com?2vbl3

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文