1

無制限の数を含む可能性のある文字列で正規表現を使用してキャプチャを取得したいと思います。私の直感は私をやらせてくれましたが、それはコマンド"/\.getnumbers (\d+)+\s*/"に続く最初の数字としか一致しませんでした。.getnumbers単純なスペースで区切られたコマンドの後に1つ以上の数値をキャプチャする正規表現ステートメントを作成するにはどうすればよいですか。例:.getnumbers 5 4 3 2 1一致(5) (4) (3) (2) (1)します。正規表現は5つの数字に一致するように特別に記述されていませんが、任意の数の数字に一致する可能性があります。

4

2 に答える 2

2

ほとんどの正規表現エンジンではグループの数に制限がないため、後処理なしではおそらくそれを行うことはできません。幸い、後処理はスペースによる分割のみで構成されています。

/\.getnumbers (\d+(?: \d+)*)/
于 2010-11-29T00:39:33.800 に答える
2
/\.getnumbers (\d+(?:\s+\d+)*)/

すべての数値を単一のキャプチャグループとして取得することに注意してください。例:「5 4 3 21」

于 2010-11-29T00:40:13.097 に答える