2

括弧内の数字を警告しようとしています:

var str2 = "This is a string (3444343) with numbers.";
var patt2 = \((.*?)\);
alert(str2.match(patt2));

jsfiddle: http://jsfiddle.net/BinaryAcid/8nx9 ​​v/1/

4

3 に答える 3

9

解決

元の質問に基づいて、これは次のようになります。

var str2 = "This is a string (3444343) with numbers.";
var patt2 = /\((.*?)\)/;

alert(str2.match(patt2)[1]);

更新された jsFiddle の例: http://jsfiddle.net/S99jd/

入力文字列に対して、アラートが表示されます3444343(括弧なし)。

いくつかの説明

あなたのスニペットが必要です:

  • スラッシュを追加し/て正規表現を作成するには、
  • 正しい一致するグループを選択して警告します (ここでは、 index1で asmatch()が要素の配列を返します。ここで、 index の要素0は完全一致であり、次のインデックスは一致するグループに対応します)。

JavaScript / ECMAScript での正規表現の使用に関する詳細とヘルプについては、http: //www.regular-expressions.info/javascript.htmlにアクセスしてください。

于 2012-06-06T00:50:20.113 に答える
2

正規表現リテラルをスラッシュで囲む必要があります。

var patt2 = /\((.*?)\)/;

更新された jsFiddle は次のとおりです。

于 2012-06-06T00:48:32.127 に答える
-1

他の人が指摘したように、スラッシュを使用して正規表現を作成する方が良いですが、アプローチを修正する方法を知りたい場合:

var patt2 = '(\\(\\d+\\))';

また

var patt2 = '([(]\\d+[)])';
于 2012-06-06T00:52:36.507 に答える