特に、これはJavascriptで可能ですか?
>> "Version 1.2.3.4".match(/\S+ (\d+)(\.\d+)*/)
["Version 1.2.3.4", "1", ".4"]
$2が最後のKleene-「マッチ」に設定されるのは明らかです。残り(".2"
、".3"
)を取得するための組み込みメソッドはありませんか?
これがJSで簡単に実行できない場合、Perlで実行できますか?
更新:これまでの回答の多くは、私の例が単純であるために機能する「回避策」でした。私が一致させたいと繰り返した部分が単なる数字以上のものである場合、それらは機能しません。
ただし、非常に有効な解決策が存在します。/expr/g
グローバル正規表現マッチングを使用します。繰り返し部分を除外してそれを使用するだけです。これは、より一般的に適用可能なオペレーターよりも柔軟性がやや劣ることがわかります*
が、ほとんどの場合、明らかに仕事が完了します。