Reguliere expressie om string te extraheren

Ik kreeg de volgende string:

"url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")"

Hoe kan ik de bestandsnaam extraheren met een JavaScript reguliere expressie?

Ik heb geprobeerd [^ /] + $ maar het houdt de ") aan het einde.

Dank je.

0

4 antwoord

[^/]+"\)$

zou werken aan uw voorbeeld. Als dat niet is wat u zoekt, geef dan meer details in uw vraag.

0
toegevoegd

Heel dicht bij wat je schreef is

/[^\/]+(?=\"\)$)/

bijvoorbeeld

/[^\/]+(?=\"\)$)/.exec(s)

waarbij s uw voorbeeldstring is, geeft als resultaat de juiste bestandsnaam.

(verklaring: bij reguliere expressies betekent het formulier (? = ...) iets dat de wedstrijd moet volgen, maar dat mag niet als onderdeel van de wedstrijd worden beschouwd).

0
toegevoegd

split on backslash, pop to get the last result, and remove the ")

'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")'.split('/').pop().replace('\")', '')

Voorbeeld

Of als RegExp precies jouw ding is:

var url = 'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")'; 
url.match(/.+\/(.+)\"\)/)[1];//file name
0
toegevoegd

Met een regexp kunt u gebruiken:

'url("http://localhost/image/user/temp/n9cec42c939ab461cac7852c267413b1b.jpg")'.match(/\/([\d\w]+\.[\w]+)/)[1]

ervan uitgaande dat uw bestandsnaam bestaat uit a-z + 0-9 en een extensie van drie tekens

0
toegevoegd