アンカータグの内側からhttpリンクを抽出しますか?抽出する拡張子は、WMVファイルのみである必要があります。アンカータグからURLを抽出するための正規表現
1
A
答えて
1
正規表現:
<a\\s*href\\s*=\\s*(?:(\"|\')(?<link>[^\"]*.wmv)(\"|\'))\\s*>(?<name>.*)\\s*</a>
[注意:\は、* sはHTMLで発生する可能性があります余分な空白文字を一致させるためにいくつかの場所で使用されている]
サンプルC#コード:
/// <summary>
/// Assigns proper values to link and name, if the htmlId matches the pattern
/// Matches only for .wmv files
/// </summary>
/// <returns>true if success, false otherwise</returns>
public static bool TryGetHrefDetailsWMV(string htmlATag, out string wmvLink, out string name)
{
wmvLink = null;
name = null;
string pattern = "<a\\s*href\\s*=\\s*(?:(\"|\')(?<link>[^\"]*.wmv)(\"|\'))\\s*>(?<name>.*)\\s*</a>";
if (Regex.IsMatch(htmlATag, pattern))
{
Regex r = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);
wmvLink = r.Match(htmlATag).Result("${link}");
name = r.Match(htmlATag).Result("${name}");
return true;
}
else
return false;
}
MyRegEx.TryGetHrefDetailsWMV("<td><a href='/path/to/file'>Name of File</a></td>",
out wmvLink, out name); // No match
MyRegEx.TryGetHrefDetailsWMV("<td><a href='/path/to/file.wmv'>Name of File</a></td>",
out wmvLink, out name); // Match
MyRegEx.TryGetHrefDetailsWMV("<td><a href='/path/to/file.wmv' >Name of File</a></td>", out wmvLink, out name); // Match
2
HTMLの構文規則は非常に緩いので、すべてのタグで属性値を二重引用符で囲むという絶対的な確信がない限り、信頼性は非常に低いです。ここでの目的のためにいくつかのかなり一般的な正規表現ベースのコードだ:
function extract_urls($html) {
$html = preg_replace('<!--.*?-->', '', $html);
preg_match_all('/<a\s+[^>]*href="([^"]+)"[^>]*>/is', $html, $matches);
foreach($matches[1] as $url) {
$url = str_replace('&', '&', trim($url));
if(preg_match('/\.wmv\b/i', $url) && !in_array($url, $urls))
$urls[] = $url;
}
preg_match_all('/<a\s+[^>]*href=\'([^\']+)\'[^>]*>/is', $html, $matches);
foreach($matches[1] as $url) {
$url = str_replace('&', '&', trim($url));
if(preg_match('/\.wmv\b/i', $url) && !in_array($url, $urls))
$urls[] = $url;
}
preg_match_all('/<a\s+[^>]*href=([^"\'][^> ]*)[^>]*>/is', $html, $matches);
foreach($matches[1] as $url) {
$url = str_replace('&', '&', trim($url));
if(preg_match('/\.wmv\b/i', $url) && !in_array($url, $urls))
$urls[] = $url;
}
return $urls;
}
1
私は正規表現でこれをしないだろう - 私はおそらくjQueryのを使用します。
jQuery('a[href$=.wmv]').attr('href')
は混沌の単純化された正規表現の例にこれを比較し、どの(前述のように)厄介な/複雑なマークアップを扱っていないので、DOMパーザがこのタイプの問題の正規表現よりも優れている理由を理解しているといいでしょう。
+0
: listbox selection video 私は私を与える必要があり、正規表現を必要としますupvoteこれ以上の回:) –
関連する問題
- 1. アンカータグからアンカーテキスト、URL、およびターゲットを抽出するjavascriptの正規表現
- 2. ニュースページからデータを抽出するための正規表現
- 3. アンカータグから除外したハッシュタグを抽出する正規表現
- 4. URLから文字列を抽出する正規表現
- 5. URLからの部分正規表現の抽出
- 6. 正規表現を抽出する正規表現
- 7. URL部分を抽出する正規表現ですか?
- 8. キーの値を抽出するためのPython正規表現
- 9. 正規表現の抽出
- 10. 年を抽出するための正規表現
- 11. フォロワ数を抽出するための正規表現パターン
- 12. 文字列から値を抽出するための正規表現のヘルプ
- 13. 文字列から日付を抽出するための正規表現
- 14. 関数から式を抽出するための正規表現?ここ
- 15. 文字列からPHPSESSID値を抽出するための正規表現パターン
- 16. 単純なJSONオブジェクトから値を抽出するための正規表現
- 17. Jmeter - 応答から7桁を抽出するための正規表現
- 18. 抽出チャネル/正規表現
- 19. 空のアンカータグを見つけるための正規表現
- 20. URLからのみパラメータ値を抽出する方法正規表現
- 21. SQLを抽出する正規表現。
- 22. GTIN(正規表現)を抽出する
- 23. 文字列のセットから正規表現を抽出する
- 24. Perl正規表現から特定の値を抽出する
- 25. Powershellの正規表現でログファイルからデータを抽出する
- 26. 正規表現は、URLのため
- 27. テキスト抽出のための正規表現
- 28. Rumble URLからビデオIDを引き出すための正規表現
- 29. 正規表現をHTMLコードから解析するための正規表現
- 30. 正規表現からNSRegularExpressionで部分を抽出する
あなたはあなたの試合の例を持っていますか? –
私は次のように一致するようにしようとしています: http://www.highoncoding.com/videos/ListBoxSelection.wmv おかげで、私は私ができる希望 – azamsharp