什么是在javascript中删除两个“/”之间的字符的正则表达式

时间:2012-04-04 14:23:21

标签: javascript regex

我有下一个字符串“/ 1234 / somename”,我想用regexp提取“somename”。

我可以使用下一个代码来完成这项工作,但我想知道如何使用RegExp执行相同操作。 mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)

由于

3 个答案:

答案 0 :(得分:3)

在正则表达式中,可以这样做:

var pattern = /\/([^\/]+)$/
"/1234/somename".match(pattern);
// ["/somename", "somename"]

该模式匹配/后的所有字符(另一个/除外),直至字符串$的末尾。

但是,我可能会使用.split()代替:

// Split on the / and pop off the last element
// if a / exists in the string...
var s = "/1234/somename"
if (s.indexOf("/") >= 0) {
  var name = s.split("/").pop();
}

答案 1 :(得分:0)

此:

mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)

相当于:

mystring.replace(/.*[/]/s, '')

(请注意,尽管名称为“replace”,但该方法不会修改mystring,而是会返回mystring的修改后的副本。)

答案 2 :(得分:0)

试试这个:

mystring.match( /\/[^\/]+$/ )