Regex pour faire correspondre le nom de fichier à la fin de l'URL
Avoir ce texte:
http://img.oo.com.au/prod/CRWWBGFWG/1t44.jpg
Et d'autres textes comme celui-ci où la dernière 1
peut être n'importe quel autre nombre et la dernière 44
peut être tout autre nombre que bien, j'ai besoin d'une expression régulière qui correspond à /1t44.jpg
.
Tout ce que j'ai essayé jusqu'à présent (/.+?\.([^\.]+)$
) matches de la première barre oblique (//img.oo.com.au/prod/CRWWBGFWG/1t44.jpg
).
Je suis à l'aide de JavaScript, donc tout ce qui fonctionne sur RegexPal devrait le faire.
- êtes-vous essayer de faire correspondre un nom de fichier à la fin d'un chemin (parce que c'est ce que votre regex tente de le faire) ou un nom de fichier qui suit le 'XtXX.jpg modèle"?
- Je suis vraiment essayer de trouver l'expression régulière qui correspond en général le nom du fichier à la fin.
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez faire correspondre un nom de fichier avec une très spécifiques fichier extenstion, vous pouvez utiliser quelque chose comme ceci:
Cela correspond à:
Ou, si vraiment vous voulez juste le nom de fichier (ce qui est après le dernier slash avec toute l'extension de fichier), vous pouvez utiliser ceci:
Cela correspond à:
Dans votre exemple de chaîne de
http://img.oo.com.au/prod/CRWWBGFWG/1t44.jpg
, à la fois de ceux-ci correspondent/1t44.jpg
. La première est évidemment beaucoup plus restrictif, car il nécessite un format spécifique du nom de fichier. La deuxième correspond à un nom de fichier.D'autres choix. Dans node.js développement, vous pouvez utiliser le
path
module et l'utilisationpath.parse()
de briser un chemin d'accès dans l'ensemble de ses diverses composantes.Et, il y a diverses bibliothèques écrites pour le navigateur qui va briser un chemin dans ses composants.
Voici une simple Regex qui va correspondre à tout ce qui est après le dernier
/
:Comme Johnsyweb dit, régulièrement express n'est pas vraiment nécessaire ici. Autant que je sache, le moyen le plus rapide de le faire est avec
lastIndexOf
etsubstr
.Bien sûr, vous n'avez pas à utiliser une expression régulière à
split
est une chaîne de caractères etpop
la dernière partie:Basé sur la réponse de Scott, essayez ce qui suit: (JavaScript)
Cela peut aussi être appariés pour Windows/Nix chemin d'accès au fichier, afin d'extraire le nom du fichier ou le chemin du fichier :
C'est pour Java sur une machine Linux. Il s'empare de la dernière partie d'un chemin de fichier, de sorte qu'il peut être utilisé pour faire un fichier de verrouillage.
Un peu différent de la question d'origine, je sais. Mais j'espère que cela aide d'autres personnes qui ont été coincés avec le même problème que j'ai eu.