2012-01-02 9 views
2

flashvarsを下のコードにある文字列から取得したいと思います。 しかし、コードの最後に一致した値には、pluginspageのような他の属性が付いています。 どうすれば修正できますか? 私は正規表現に間違っていますか?ここでFlashvarsを取​​得するための正規表現

は私のコードです:

string source = "<embed src=\"http://godtube.com/flvplayer.swf\" FlashVars=\"videoThumb=http://www.godtube.com/thumb/1_30772.jpg&flvPath=http://www.godtube.com/flvideo1/47/30772.flv\" wmode=\"transparent\" quality=\"high\" width=\"330\" height=\"270\" name=\"flv_demo\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /></embed>"; 
Regex sRgx = new Regex("flashvars=\"(.*)\"", RegexOptions.Multiline); 
Match regexMatch = sRgx.Match(source); 
if (regexMatch.Success) 
{ 
    string matched = regexMatch.Groups[1].Value; 
} 

答えて

1

はこれで試してみてください:

Regex sRgx = new Regex("flashvars=\"(.*?)\"", RegexOptions.Multiline); 

?は正規表現が可能な最短試合に一致するようになり、それ以外の場合は*文字列の末尾にeverithingクランチます。

+0

そのおかげさまで... – CodeRunner

1

追加することにより、*は怠け者作りますか?その後。
他の選択肢もあります。私はこの記事をお読みになることをお勧めします。
http://www.regular-expressions.info/repeat.html
特に「怠惰に対する代替」節。

関連する問題