1

丸いブレーキの中身を取り出そうとしているのですが、

たとえば..次のようなコンテンツがある場合var str="test exp (content needed)"

str 値を「必要なコンテンツ」にしようとしています。正規表現を使用してそれを達成するにはどうすればよいですか? 文字列に次のような丸括弧が複数回出現する場合の状態を確認したいvar str="test exp (content needed) test (tst)"

4

1 に答える 1

0

これを試して:

var m = /\(([^)]*)\)/.exec(str);
str = m[1];

注意: 単純なケースでは、indexOfやなどの通常の文字列メソッドを使用する方がよいことを覚えておいてsubstringください。通常は、これらのメソッドの方が高速でわかりやすいからです。例えば:

var i1 = str.indexOf("("), i2 = str.indexOf(")");
str = str.substring(i1, i2);

括弧内のすべてのシーケンスを一致させたい場合は、これを試すことができます。

var m = str.match(/\([^)]*\)/g);

括弧を含むm、括弧内のすべてのコンテンツが含まれるようになりました。内部コンテンツだけを取得したい場合は、これを試してください:

m = m.map(function(match) {return match.slice(1, -1);});

mapこれは、配列の計算法をサポートしていないため、IE8 以前では機能しないことに注意してください。ポリフィルまたはクラシックforループのいずれかを使用します。

于 2012-09-06T08:51:03.997 に答える