15

()javascriptを使用して最後の間のテキストを抽出したい

例えば

var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(regex));

結果は

value_b

助けてくれてありがとう

4

4 に答える 4

20

これを試して

\(([^)]*)\)[^(]*$

ここで正規表現を参照してください

var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(/\(([^)]*)\)[^(]*$/)[1]);

括弧内の部分はキャプチャ グループ 1 に格納されるためmatch()[1]、結果にアクセスするには を使用する必要があります。

于 2012-05-05T06:38:15.757 に答える
7
/\([^()]+\)(?=[^()]*$)/

先読み(?=[^()]*$)は、入力の終わりの前にこれ以上括弧がないことを表明します。

于 2012-05-05T06:34:36.143 に答える
0

最後の閉じ括弧が常に文末にある場合は、Jonathans answer を使用できます。そうでなければ、次のようなものがうまくいくかもしれません:

/\((\w+)\)(?:(?!\(\w+\)).)*$/
于 2012-05-05T06:37:38.577 に答える