Рэгулярны выраз для здабывання радкі

Я атрымаў наступны радок:

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

Як я магу атрымаць імя файла з дапамогай яваскрипта назваў паведамленняў?

Я спрабаваў [^ /] + $, але ён трымае «) у канцы.

Дзякуй.

0

4 адказы

[^/]+"\)$

будзе працаваць на вашым прыкладзе. Калі гэта не тое, што вы пасля гэтага, калі ласка, падайце больш падрабязную інфармацыю ў вашым пытанні.

0
дададзена

Даволі блізка да таго, што вы напісалі

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

напрыклад

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

дзе s Ваш прыклад радкі вяртае правільнае імя файла.

(Тлумачэнне: З дапамогай рэгулярных выразаў формы (= ...) азначае тое, што павінна быць наступным матчам, але гэта не варта разглядаць як частку матчу).

0
дададзена

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

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

Прыклад

Ці, калі RegExp проста ваша рэч:

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

З рэгулярным выразам вы можаце выкарыстаць:

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

мяркуецца, што ваш імя файла складаецца з-з + 0-9 і падаўжэнне на тры сімвала

0
дададзена