Я хочу извлечь http-ссылку из тегов привязки? Расширение, которое нужно извлечь, должно быть только в файлах WMV.Регулярное выражение для извлечения Url из привязывающего тега
ответ
Regex:
<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
Поскольку синтаксические правила 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;
}
Я бы не сделать это с помощью регулярных выражений - я бы, вероятно, использовать JQuery:
jQuery('a[href$=.wmv]').attr('href')
Сравните это упрощенно регулярное выражение, например хаоса, который (как указано) не касается суетливой/сложной разметки, и вы, надеюсь, поймете, почему парсер DOM лучше, чем регулярное выражение для этого типа проблем.
Я хотел бы возвысишь это не один раз :) –
- 1. регулярное выражение для извлечения URL
- 2. регулярное выражение для извлечения URL из строки
- 3. Регулярное выражение для извлечения из URL
- 4. Регулярное выражение для извлечения тега XML
- 5. Регулярное выражение для извлечения url для Javascript
- 6. Регулярное выражение для извлечения текста ссылки из тега привязки
- 7. извлечения URL из тега
- 8. регулярное выражение для извлечения слов
- 9. Используйте регулярное выражение для извлечения значения атрибута для настраиваемого тега
- 10. Регулярное выражение для извлечения подстроки
- 11. Регулярное выражение в java для извлечения URl из HTML
- 12. Регулярное выражение для извлечения URL из HTML-ссылки
- 13. Можно ли использовать регулярное выражение для извлечения домена из URL?
- 14. PHP Регулярное выражение для извлечения данных из источника URL
- 15. Регулярное выражение для извлечения HTML-падающего тега. Классический ASP
- 16. Регулярное выражение для извлечения URL-адреса Facebook URL-адреса
- 17. Регулярное выражение для извлечения номера
- 18. Регулярное выражение для извлечения номера
- 19. Регулярное выражение для извлечения HREFS
- 20. Регулярное выражение для извлечения информации
- 21. Получение значения/относительный URL-адрес из привязывающего тега в JQuery?
- 22. Регулярное выражение для извлечения выражения из функции?
- 23. Регулярное выражение для извлечения хэшей из файла
- 24. Регулярное выражение для извлечения слов из файлов
- 25. Регулярное выражение для извлечения дат из строки
- 26. Регулярное выражение для извлечения элементов из строки
- 27. Регулярное выражение для извлечения из URI
- 28. регулярное выражение для извлечения числа из строки
- 29. Регулярное выражение для извлечения даты
- 30. Регулярное выражение для извлечения строки
У вас есть пример того, что вы пытаетесь найти? –
Я пытаюсь соответствовать следующим образом: listbox selection video мне нужно регулярное выражение, которое должно дать мне: http://www.highoncoding.com/videos/ListBoxSelection.wmv Спасибо, – azamsharp