我有下一个字符串“/ 1234 / somename”,我想用regexp提取“somename”。
我可以使用下一个代码来完成这项工作,但我想知道如何使用RegExp执行相同操作。
mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)
由于
答案 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( /\/[^\/]+$/ )