正则表达式 - 将文本附加到youtube链接的“src”字段

时间:2013-03-21 17:54:25

标签: asp.net regex vb.net youtube

我有以下字符串 -

<iframe width="425" height="349" src="http://www.youtube.com/embed/8tPnX7OPo0Q" frameborder="0" allowfullscreen></iframe>

我需要将以下文本添加到'src'字段的末尾 - ?wmode=transparent - 以便最终的字符串如下所示 -

<iframe width="425" height="349" src="http://www.youtube.com/embed/8tPnX7OPo0Q?wmode=transparent" frameborder="0" allowfullscreen></iframe>

任何人都可以告诉我如何在asp.net中使用正则表达式进行此操作...我之前只使用正则表达式替换了文本。


我尝试了下面的代码,但我不讨厌......任何人都可以告诉我我做错了什么?

Dim test As String = "<iframe width=""425"" height=""349""
   src=""http://www.youtube.com/embed/8tPnX7OPo0Q"" frameborder=""0"" allowfullscreen>
</iframe>"

Dim regex1 As Regex = New Regex("src=(['""])(https?:\/\/[^ >]*?youtu\.?be[^ >]+?)(?=\1)")
Dim match1 As String = regex1.Replace(test, "src=\1\2?wmode=transparent")

1 个答案:

答案 0 :(得分:1)

查找RegEx:src=(['"])(https?:\/\/[^ >]*?youtu\.?be[^ >]+?)(?=\1)
替换为:src=\1\2?wmode=transparent
在此解释演示:http://regex101.com/r/bK8hC6

注意:这将允许youtube.comyoutu.be域名

<强>更新

实现:

Imports System.Text.RegularExpressions

...

Dim output As String = Regex.Replace(test, 
    "src=(['"])(https?:\/\/[^ >]*?youtu\.?be[^ >]+?)(?=\1)", 
    "src=\1\2?wmode=transparent")