0

次の文字列「/1234/ somename」があり、正規表現を使用して「somename」を抽出したいと思います。

次のコードを使用してジョブを実行できますが、RegExpで同じことを実行する方法を知りたいです。 mystring.substring(mystring.lastIndexOf("/") + 1, mystring.length)

ありがとう

4

3 に答える 3

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();
}
于 2012-04-04T14:26:26.997 に答える
0

これ:

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

これと同等です:

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

(「replace」という名前にもかかわらず、そのメソッドは変更されませんmystringが、変更されたコピーを返すことに注意してくださいmystring。)

于 2012-04-04T14:26:28.060 に答える
0

これを試して:

mystring.match( /\/[^\/]+$/ )
于 2012-04-04T14:28:34.783 に答える