正規表現フラッシュURL

c# flash screen-scraping
正規表現フラッシュURL

こんにちはイムはウェブサイト上のフラッシュ映画のURLをこするC#プログラムを開発しようとしています、これはパームしようとしているコードイムです

+ flashvars =" file = http://cache01-videos02.myspacecdn.com/24/vid_878ccd5444874681845df39eb3f00628.flv "/> +

私が正規表現を使って得た最も近いのはこの表現でした

ファイル= http://%5B ^ /] /(.*)flv

しかしそれはfile =部分で出力します、どうやってfile =部分を除外しますか

  0  0


ベストアンサー

私はこれが必要だと思います:

var [email protected]"flashvars=""file=http://cache01-videos02.myspacecdn.com/24/vid_878ccd5444874681845df39eb3f00628.flv""";
        var match = Regex.Match(url, @"file=(?http://[^/]+/(.*)flv)");
        var scrapedurl = match.Groups["flashurl"].Value;

`(?/ …)`部分は、括弧で囲まれた部分を抽出し、「flashurl」という名前を付けます。

2


正規表現を次のように変更して、Groupsプロパティを使用します。

public void ScrapeURL(文字列入力){正規表現regex = new正規表現( "file =(http:// [^ /] /.*flv)");

foreach(regex.Matches(input)のMatch m){//これで、GroupsプロパティにURLが入ります。 [1]。値。

// URLで何かをします... }}

基本的に、.Netの正規表現の構文では、グループ化に大括弧()を使用します。パターン内の大括弧で囲まれた各表現は、Groupsプロパティを介してアクセスできます。 グループはゼロから左から右に番号が付けられますが、全体の一致は常にグループと見なされ、Groupsコレクションでは常にインデックス0になります。

編集

このパターンで注意すべきことは、入力に複数のフラッシュURLが含まれている場合、正規表現の欲張りな性質により、最初のURLの先頭から最後のURLの末尾までのすべてのテキストを組み込んだ奇妙な一致が得られることです。

0


タイトルとURLをコピーしました