-2

正規表現を使用して何かを検索すると、最初のページで Google が生成する 10 の Web サイトへのリンクを取得しようとしています。私は正規表現にまったく慣れておらず、これを機能させるのに多くの問題を抱えています:

MatchCollection links = Regex.Matches(indexPage, @"<h3 class=""r""><a href=""\s*(.+?)\s*"" class=l", RegexOptions.Multiline);

コレクションにリンクを追加したら、次のリストに追加します。

foreach (Match link in links) {
    string result = link.Groups[1].Value;
    results.Add(result);
}

リンクが見つかりません。助けていただければ幸いです。

4

1 に答える 1

1

これはすべてのURLを見つけます:

    "#^((?#
    the scheme:
    )(?:https?://)(?#
    second level domains and beyond:
    )(?:[\S]+\.)+((?#
top level domains:
)MUSEUM|TRAVEL|AERO|ARPA|ASIA|EDU|GOV|MIL|MOBI|(?#
)COOP|INFO|NAME|BIZ|CAT|COM|INT|JOBS|NET|ORG|PRO|TEL|(?#
)A[CDEFGILMNOQRSTUWXZ]|B[ABDEFGHIJLMNORSTVWYZ]|(?#
)C[ACDFGHIKLMNORUVXYZ]|D[EJKMOZ]|(?#
)E[CEGHRSTU]|F[IJKMOR]|G[ABDEFGHILMNPQRSTUWY]|(?#
)H[KMNRTU]|I[DELMNOQRST]|J[EMOP]|(?#
)K[EGHIMNPRWYZ]|L[ABCIKRSTUVY]|M[ACDEFGHKLMNOPQRSTUVWXYZ]|(?#
)N[ACEFGILOPRUZ]|OM|P[AEFGHKLMNRSTWY]|QA|R[EOSUW]|(?#
)S[ABCDEGHIJKLMNORTUVYZ]|T[CDFGHJKLMNOPRTVWZ]|(?#
)U[AGKMSYZ]|V[ACEGINU]|W[FS]|Y[ETU]|Z[AMW])(?#
the path, can be there or not:
)(/[a-z0-9\._/~%\-\+&\#\?!=\(\)@]*)?)$#i"
于 2012-12-11T16:52:45.997 に答える