2

状況の最後の発生を取得しようとしています。

obj.foo[0].bar[0].name

私はこのコードを試してみましたが、最初のものを取得しただけで、最後[0]に置くとうまくいき$ません。

\[(\d+)\](?:(?!\[\d+\]))
4

2 に答える 2

2

別の同じグループが、試合の直後だけでなく、試合の後のどこかにいることはできないと断言する必要があります。この変更を参照してください。

\[(\d+)\](?!.*?\[\d+\])
            ^^^

または、バックトラッキング アプローチに切り替えることもできます。

.*\[(\d+)\]

これは最初の正規表現の正規表現デモで、もう一方の正規表現は次のとおりです。

于 2014-09-21T04:21:39.933 に答える
1

ブラケットを含めるかどうかに応じて、次を使用できます。

var r = s.match(/\[\d+\]/g)[1]

区切り文字が必要ない場合は、グループ インデックスからスライスできます。

var r = s.match(/\[\d+\]/g)[1].slice(1,-1)
于 2014-09-21T04:38:57.657 に答える