我有下一个字符串“/1234/somename”,我想使用正则表达式提取“somename”。
我可以使用下一个代码来完成这项工作,但我想知道如何使用 RegExp 做同样的事情。
mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)
谢谢
我有下一个字符串“/1234/somename”,我想使用正则表达式提取“somename”。
我可以使用下一个代码来完成这项工作,但我想知道如何使用 RegExp 做同样的事情。
mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)
谢谢
在正则表达式中,可以这样做:
var pattern = /\/([^\/]+)$/
"/1234/somename".match(pattern);
// ["/somename", "somename"]
该模式匹配 a 之后的所有字符/
(除了另一个/
)直到字符串的末尾$
。
但是,我可能会.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();
}
尝试这个:
mystring.match( /\/[^\/]+$/ )
这个:
mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)
相当于:
mystring.replace(/.*[/]/s, '')
(请注意,尽管名称为“replace”,但该方法不会修改mystring
,而是会返回 的修改副本mystring
。)