Регулярное выражение для поиска URL (заканчивается FLV / flv) - PullRequest
0 голосов
/ 11 марта 2010

Мне нужно получить все экземпляры http://someurl/somefile.flv в файле HTML. Расширение не должно быть чувствительным к регистру.

В настоящее время я использую следующее простое регулярное выражение, которое я использую в Javascript:

var rePattern = new RegExp(
    "(http://.*.flv)",
    "gi"
  );

Хотя у него есть свои недостатки, особенно если есть URL, и где-то дальше в файле есть что-то, упоминающее FLV.

Я нашел различные регулярные выражения, которые проверяют URL-адреса и т. Д., Но я не могу корректно изменить их, чтобы просто искать ссылки FLV.

Ответы [ 3 ]

1 голос
/ 11 марта 2010
/http:\/\/[\S]+?\.flv/g

document.body.innerHTML.match(/http:\/\/[\S]+?\.flv/g)
0 голосов
/ 11 марта 2010

http://[^\"\'<>{}\s]{6,255}(? <=. FLV) </p>

0 голосов
/ 11 марта 2010

Если бы я делал это, мое регулярное выражение выглядело бы примерно так:

http:\/\/(.+)\.(.+)\.flv

Я сбежал от своих специальных персонажей, как вы должны сделать. В частности, две косые черты, и период прямо перед "flv". Ваше регулярное выражение будет неправильно соответствовать "http://123flv", что, я уверен, вам не нужно. Моей версии также требуется домен верхнего уровня, например, example.com. Ваш соответствовал бы http://example/x.flv который явно не является действительным URL. Обратите внимание, как я использую + вместо *, чтобы обеспечить присутствие одного или нескольких символов.

Надеюсь, это поможет.
-tjw

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...