使用javascript中的正则表达式提取最后两个斜杠之间的字符串

extract strings between last two slashes using regular expression in javascript

本文关键字:两个 之间 字符串 javascript 正则表达式 提取 使用 最后      更新时间:2024-04-27

我想使用正则表达式提取最后两个字符串之间的字符串。我似乎无法想出正确的表达方式,如果有人能帮助我,那就太好了。

假设字符串是:aa/bbb/ccccccc/eeeee/fffff.jpg,我想提取出"eeee"。

谢谢。

由于您只关心最后一组斜杠,因此您可以从匹配任何东西开始
.*
那么您需要一个文字斜杠
'/(已转义,因为斜杠将终止js正则表达式)
现在,您想要下一个斜杠之前的任何内容,这意味着不是斜杠,并且_there必须是某个内容(一个或多个),我们将把它放在捕获组中,以便您可以提取它。
([^/]+)
然后是另一个文字斜杠
'/
然后是其他不包括斜杠的内容(文件名?)
[^/]+

将所有这些放在一起可以得到正则表达式
/.*'/([^/]+)'/[^/]+/

"aa/bbbb/ccccc/eeee/fffff.jpg".match(/.*'/([^/]+)'/[^/]+/);
产生
["aa/bbbb/ccccc/eeee/fffff.jpg", "eeee"]
eeee被捕获。

我知道你说过你想使用正则表达式,但对于那些寻找解决方案但不要求它是正则表达式的人来说,你可以通过拆分字符串来实现:

 var originalString = 'aa/bbbb/ccccc/eeee/fffff.jpg';
 //convert to array
 var parts = originalString.split('/');
 //find the second to last item
 var lastPartOfPath = '';
 //make sure there are more than one part
 if (parts.length > 1) {
      lastPartOfPath = parts[parts.length-2];
 }