J'ai besoin d'une expression régulière pour valider l'URL du site en utilisant Perl.Comment puis-je valider une URL de site Web en Perl?
Répondre
use Regexp::Common qw /URI/;
while (<>) {
/($RE{URI}{HTTP})/ and print "$1 is an HTTP URI.\n";
}
Probablement "est un URI HTTP" est un meilleur exemple à montrer. – ysth
Les URL de site Web peuvent être HTTP ou HTTPS. –
Je n'utilise des expressions régulières. J'essaie de créer un objet URI et de voir ce qui se passe. Si cela fonctionne, j'ai un objet URI que je peux interroger pour obtenir le schéma (les autres choses sont transformées en URI "sans schéma").
use URI;
while(<DATA>)
{
chomp;
my $uri = URI->new($_, 'http');
if($uri->scheme) { print "$uri is a URL\n"; }
else { print "$uri is not a URL\n"; }
}
__END__
foo.html
http://www.example.com/index.html
abc
www.example.com
Si je suis à la recherche d'une sorte spécifique d'URI, je peux interroger l'objet pour voir si elle satisfait tout ce que je dois, comme un nom de domaine particulier. Si je fais quelque chose avec des URLs, je vais probablement faire un objet de toute façon, donc je ferais mieux de commencer par le faire.
@brian, votre script ne semble pas tout à fait correct. Je suppose que sans l'identifiant de service http, www.example.com serait toujours une URL valide mais le script dit le contraire. – Mike
Un nom d'hôte n'est pas une URL. Sans schéma, www.example.com peut être un nom d'hôte, un fichier ou autre. Il n'y a pas de magie qui distingue ce genre de choses tout seul. C'est l'URL qui donne le contexte et la signification. –
Eh bien, il semble que Regexp :: Common qw/URI/fait la même chose. Mais si quelqu'un doit écrire manuellement beaucoup d'URL sans identifiants http, ces URL ne seront-elles pas considérées comme valides? – Mike
Puisque vous parlez d '"URL de site Web", je suppose que vous êtes intéressé par les URL HTTP et HTTPS seulement. Pour cela, au lieu d'utiliser regex, vous pouvez utiliser le module Perl Data::Validate::URI de Perl. Pour cela, vous pouvez utiliser le module .
Par exemple, pour valider les URL HTTP et HTTPS:
use Data::Validate::URI;
my $url = "http://google.com";
my $uriValidator = new Data::Validate::URI();
print "Valid web URL!" if $uriValidator->is_web_uri($url)
Et, pour valider l'URL HTTP uniquement:
print "Valid HTTP URL!" if $uriValidator->is_http_uri($url)
Enfin, pour valider une URI bien formaté:
print "Valid URI!" if $uriValidator->is_uri($url)
Si à la place, pour une raison quelconque, vous voulez réellement une regex, alors vous pouvez utiliser quelque chose comme ce qui suit pour valider URL HTTP/HTTPS/FTP/SFTP:
print "Valid URL!\n" if $url =~ /^(?:(?:https?|s?ftp))/i;
- 1. Comment valider un site entier?
- 2. Comment analyser un site Web HTML à l'aide de Perl?
- 3. Comment valider le nom d'hôte en Perl?
- 4. Comment valider une URL en C# (Erreur 404)
- 5. Valider une page Facebook URL
- 6. site Web de code en php avec sef url
- 7. Comment valider les URL entrantes?
- 8. Comment créer un résumé de site Web avec Perl?
- 9. Comment faire une comparaison url du site web courant url dans la base de données?
- 10. Url mystérieuse dans notre site Web html
- 11. Comment valider chemin de certification contre url
- 12. Valider twitter URL
- 13. server.transfer à un autre site Web URL
- 14. Cacher index.php du site Web URL
- 15. Comment puis-je récupérer une URL à partir d'un site Web en utilisant Java?
- 16. Comment puis-je valider un fichier image en Perl?
- 17. Comment puis-je valider des dates en Perl?
- 18. Comment appeler le site Web avec l'adresse IP comme URL
- 19. Comment utiliser les URL relatives dans le site Web avec deux URL de base
- 20. comment puis-je valider une URL javascript en utilisant l'expression régulière
- 21. Comment puis-je créer une application Web enrichie en Perl?
- 22. Google Analytics - Adresse IP comme URL de site Web
- 23. Comment déplacer un site d'une URL à une autre?
- 24. java lire une page web en utilisant url
- 25. Comment puis-je utiliser une URL propre uniquement dans un sous-dossier de mon site Web?
- 26. En Perl, comment extraire correctement les URL entre parenthèses?
- 27. Comment remapper une URL?
- 28. site Web php url correspondant à la question
- 29. Comment puis-je formater les URL correctement en Perl?
- 30. Comment valider une date au format AAAA-MM-JJ en Perl?
Vous devez donner plus d'informations. Pourquoi en avez-vous besoin? Qu'est-ce que "l'URL du site"? – Jens
Pourquoi avez-vous besoin de valider les URL? Où les trouvez-vous et que faites-vous avec eux? –
@Jens Je suppose que les URL de sites Web font référence à celles qui incluent les identificateurs de service http ou https. Sinon, les URL peuvent inclure quelque chose comme: news: alt.rec.motorcycle ou gopher: //gumby.brain.headache.edu: 151/7fonebook.txt – Mike