2
 var s = "1236(75)";
 var s = s.replace(/\(|\)/g, '');

 alert (s); // this gives me 123675  


what i actually need is 75

any help will be appreciated!

上記のコードは 123675 ​​になりますが、75 だけを返す必要があります。助けてください

4

4 に答える 4

6

^.+入力文字列の先頭からすべてを照合するために使用します。

var s = "1236(75)";
var s = s.replace(/^.*\(|\)/g, '');

そうは言っても、正規表現を使用して逆のことを行うことができます。不要なものをすべて取り除く代わりに、必要な部分だけを一致させます

var match = s.match(/\((\d+)|\)/)[1];
于 2013-02-15T19:17:23.077 に答える
0

かっこ内の数字と一致させる必要がある場合は、次のことができます

s.match(/\((\d+)\)/)[1]
于 2013-02-15T19:20:52.893 に答える
0

試す

var s = s.replace(/.*\(|\)/g, '');

ただし、これは先頭の文字 (開きかっこの前) のみを削除し、括弧で囲まれた部分を 1 つだけ許可します。閉じ括弧の後のものはすべて残ります。

本当に欲しいのは、文字列を括弧で囲んで一致させ、括弧内の部分を返すものです。

var m = /\((.*\))/.exec(s);
if (m) var result = m[1]

そして、さらに括弧の部分があれば、[1]、[2]などで取得できます。

新しい正規表現と「split()」で同様のことを行うこともできます

于 2013-02-15T19:18:24.290 に答える
0

番号と開始ブラケットを先頭から削除し、終了ブラケットを末尾から削除します。

s = s.replace(/^\d*\(/, '').replace(/\)$/, '');
于 2013-02-15T19:22:23.443 に答える