0

1-N 個の括弧を持つ文字列から右端の括弧 (最後の括弧) を抽出する必要があります。

たとえば Some title (8888)(123, bar)(1000, foo) 、最後の括弧のセットの内容を取得したい、つまり1000, foo. 括弧は常に少なくとも 1 つですが、複数ある場合もあります。

正規表現やその他の文字列解析手法を使用しても問題ありません。

4

3 に答える 3

2

それらがネストされていないと仮定すると、次のように簡単に実行できます。/\(([^\)]+)\)$/

var foo = "Some title (8888)(123, bar)(1000, foo)";
// Get your result with
foo.match(/\(([^\)]+)\)$/)[1];

デモンストレーション: http://regex101.com/r/tS2yS1

于 2013-07-20T16:38:44.337 に答える
1

このリンクに従ってください

その正規表現.*\((.+)\)を使用すると、必要なコンテンツとして $1(グループ 1) を取得できることがわかります

于 2013-07-20T16:44:02.563 に答える
0

すべての括弧に一致し、最後の括弧を取得します。

> 'Some title (8888)(123, bar)(1000, foo)'.match(/\(.*?\)/g).pop()
"(1000, foo)"

> var x = 'Some title (8888)(123, bar)(1000, foo)'.match(/\(.*?\)/g).pop(); x.substr(1, x.length-2)
"1000, foo"
于 2013-07-20T16:38:56.787 に答える