私はjavascriptの正規表現)
を使用して、最後の()
間のテキストを抽出したい例えば
var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(regex));
結果が
value_b
おかげでなければなりませんヘルプのため
私はjavascriptの正規表現)
を使用して、最後の()
間のテキストを抽出したい例えば
var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(regex));
結果が
value_b
おかげでなければなりませんヘルプのため
は、括弧内の部分はキャプチャグループ1に保存され、そのあなたが使用する必要がありますされhere on regexr
var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(/\(([^)]*)\)[^(]*$/)[1]);
それを参照してください。この
\(([^)]*)\)[^(]*$
をお試しくださいmatch()[1]
にアクセスして結果にアクセスします。
/\([^()]+\)(?=[^()]*$)/
ルックアヘッド(?=[^()]*$)
は、入力の最後の前に括弧がないことを示します。
これは私のテキストとブラケットを提供します。 (value_b)..私はo/pを大括弧なしでvalue_bにします。 – user1376366
最後の閉じ括弧が常に文末にある場合は、Jonathans answerを使用できます。そうでなければこの仕事かもしれないような何か:
/\((\w+)\)(?:(?!\(\w+\)).)*$/
効率的なソリューションは、最後の(
var str = "don't extract(value_a) but extract(value_b)";
var res = str.match(/.*\(([^)]+)\)/)[1];
console.log(res);
.*\(
試合最後のリテラル(
([^)]+)
captures一つ以上までany characterのany amount前.*
eat upすべてをさせることです文字that are not)
[1]
grab capturesグループ1(第1の捕捉グループ)。.
の代わりに[\s\S]
を使用して、複数行文字列にします。
これはおかげさまで多くの.. – user1376366