JavaScript正则表达式在第二个到最后一个反斜杠之后捕获所有内容

时间:2017-02-07 00:28:46

标签: javascript regex

我的正则表达式如下所示:

/^.*[\\\/]/

这将从字符串中删除每个反斜杠。我面临的问题是我现在必须能够捕获从倒数第二个到最后一个反斜杠的所有内容。

示例:

/Users/foo/a/b/c将返回b/c /Another/example/会返回Another/Example

所以我需要在倒数第二个反斜杠之后捕获所有内容。上面的正则表达式如何做到这一点?

3 个答案:

答案 0 :(得分:8)

尝试使用这个简单的解决方案:

s = "aaaa/bbbb/cccc/dddd";
s.split("/").slice(-2).join("/"); /* It will return "cccc/dddd" */

答案 1 :(得分:0)

我认为你的意思是斜杠,而不是反斜杠。

这是pierlauro回答的正则表达式替代方案。

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

Regex101

答案 2 :(得分:0)

正如pierlauro的回答所示,splitjoinslice可能是最佳选择。但是如果你必须使用正则表达式(不确定原因),你可以使用以下内容:

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

此正则表达式适用于可选的尾部斜杠和小于2 / s的网址。它利用$字符将搜索范围集中在字符串的末尾。