0

我有以下字符串 -

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

1 回答 1

1

查找正则表达式: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")
于 2013-03-21T18:07:51.667 回答