0

javascript の正規表現のキャプチャ グループに問題があります

p4124p74354、などの文字列がp10あり、数字のみを抽出したい。

私の正規表現は/^p(\d+)/g

私が行った場合

str = p4124
str.match(patt)

私は得る["p4124"]

キャプチャされた一致を取得するにはどうすればよいですか (4124 を返すため)?

4

3 に答える 3

2

g正規表現からフラグを削除すると、通常の一致が返されます。

このgコンテキストでは、同じ正規表現を繰り返し呼び出すためにフラグが使用されますが、これはここで行おうとしていることではありません。

于 2013-04-29T05:49:25.640 に答える
1

パターンが同じになる場合 (すべての非数値を取り除く)、次のように使用できます。

    var thestring = "p123";
    var thenum = thestring.replace(/^\D+/g, '');
    alert(thenum);

うまくいったかどうか教えてください。

于 2013-04-29T05:53:43.170 に答える
0

それを使用して、さまざまなキャプチャ グループにアクセスできます。

var str = "p4124";
alert(/^p(\d+)/.exec(str));

最初: パターン全体

2 番目: キャプチャ グループ

于 2013-04-29T06:06:56.603 に答える