.net - 在正则表达式匹配中替换

标签 .net regex vb.net replace

我使用以下 VB.net 代码来查找 HTML 中的电话号码并使它们“可点击”:

 Regex.Replace(pDisp.Document.Body.innerHTML, "([0-9+ ]{3,6}[\s]{1,1}[0123456789 \-/]{4,15})", "<a href=http://DIAL/$1>$1</a>")

如果数字包含空格,则会出现问题,例如:

089 12233 455

这将被替换为:

<a href=http://DIAL/089 12233 455>089 12233 455</a>

有没有办法获得

<a href=http://DIAL/08912233455>089 12233 455</a>

相反?

非常感谢!

最佳答案

而不是 <a href=http://DIAL/$1>$1</a> ,使用:

<a href=http://DIAL/$1>$0</a>

以便输出文本是整个捕获,其中将包括原始格式。

关于.net - 在正则表达式匹配中替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9875152/

相关文章:

c# - 删除字符串中的额外间距 [Fastest Way]

javascript - RegExp 通过验证

mysql - 无法将值插入数据库

c# - 提供软件设置的最佳方式?

.net - Windows 身份验证提示两次

c# - 在 .Net 中将信息与 'Type' 对象相关联的最有效的性能方式是什么?

vb.net - 更新单个数据表行的最佳实践

c# - 如何检测循环中的任务

java - URL 中的正则表达式关键字匹配

c# - 如何将 DataRows 数组绑定(bind)到 DataGridView