C#从iframe html标记获取src?

C#从iframe html标记获取src?,c#,regex,iframe,C#,Regex,Iframe,基本上,我有一个用户创建的字符串,它可能有也可能没有youtube的iframe链接。因为这是一个客户端应用程序,所以它不使用html标记,我有一个特殊的表单来显示youtube视频之类的内容。但是,我需要从标记中获取src,并将其周围的所有数据替换为零。 它也可能有多个链接,所以这需要像regex一样在全球范围内实现 例如: 用户字符串: <iframe width='300px' height='225px' src='http://www.youtube-nocookie.com/e

基本上,我有一个用户创建的字符串,它可能有也可能没有youtube的iframe链接。因为这是一个客户端应用程序,所以它不使用html标记,我有一个特殊的表单来显示youtube视频之类的内容。但是,我需要从标记中获取src,并将其周围的所有数据替换为零。 它也可能有多个链接,所以这需要像regex一样在全球范围内实现

例如: 用户字符串:

<iframe width='300px' height='225px' src='http://www.youtube-nocookie.com/embed/4FhG-UYRHJ0' frameborder='0' allowfullscreen></iframe>

我想要输出的内容: 我希望用户只看到:
http://www.youtube-nocookie.com/embed/4FhG-UYRHJ0
然后我就可以处理剩下的事情了


任何帮助都是非常感谢的,因为我甚至不知道如何从这个开始。谢谢大家。

下面是一个正则表达式,让您开始学习:

(?<=src=')[^']+

(?以下是一个正则表达式,让您开始学习:

(?<=src=')[^']+
(?您也可以使用此

string iframe = "<iframe width='300px' height='225px' src='http://www.youtube-nocookie.com/embed/4FhG-UYRHJ0' frameborder='0' allowfullscreen></iframe>";

            Match matchdec = Regex.Match(iframe, @"\ssrc='\b(\S*)\b", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase);
            if (matchdec.Success) 
            {
                if (matchdec.Groups.Count > 1)
                {
                    string retval = matchdec.Groups[1].Value;
                }
            }
希望这有帮助。

您也可以使用这个

string iframe = "<iframe width='300px' height='225px' src='http://www.youtube-nocookie.com/embed/4FhG-UYRHJ0' frameborder='0' allowfullscreen></iframe>";

            Match matchdec = Regex.Match(iframe, @"\ssrc='\b(\S*)\b", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase);
            if (matchdec.Success) 
            {
                if (matchdec.Groups.Count > 1)
                {
                    string retval = matchdec.Groups[1].Value;
                }
            }

希望这有帮助。

您可以使用下面的代码

var source = Regex.Match(iframeStr, "<iframe.+?src=[\"'](.+?)[\"'].*?>", RegexOptions.IgnoreCase).Groups[1].Value;

var source=Regex.Match(iframeStr),您可以使用下面的代码

var source = Regex.Match(iframeStr, "<iframe.+?src=[\"'](.+?)[\"'].*?>", RegexOptions.IgnoreCase).Groups[1].Value;

var source=Regex.Match(iframeStr,”有了你可以做到的,你应该试着自己去做,这是一个非常简单的正则表达式。这个网站是为了帮助解决问题,而不是为你做工作。我目前正在学习7种语言,每种语言都与其他语言有很大的不同。正则表达式在这一点上会让我感到困惑。还有,为什么要尝试重新发明轮子呢?如果有人已经做到了,为什么你的尝试很可能会比我的更好。嗨,用户1763295,如果你正在学习7种语言,regex将带来更大的好处-你将拥有一个非常强大的工具,你可以在不同语言之间移动。我从这里开始学习regex,你可以做到。你应该尝试自己做,这是一个非常简单的regex。这个网站的目的是帮助解决问题,而不是为你做工作。我目前正在学习7种语言,每种语言都与其他语言有很大的不同。正则表达式在这一点上会让我感到困惑。还有为什么要尝试重新发明轮子呢?如果有人已经做到了,他们的尝试很可能会比我的更好。嗨,用户1763295,如果你是学习7种语言regex会有更大的好处-你将拥有一个非常强大的工具,可以在不同语言之间移动。我从这里开始学习regex,这表示当我将regex放入时无法识别的转义序列?忽略上面的内容,我忘记了@。非常感谢,这个regex工作得很好。这表示unreco当我把正则表达式放进去的时候,gnised转义序列?忽略上面的,我忘记了@。非常感谢,这个正则表达式工作得很好。它似乎没有实际提取src,但它提取了src的每个实例。它似乎没有实际提取src,但它提取了src的每个实例。