CSS クラスに追加された整数として渡された数値をキャプチャする必要があります。私の正規表現はかなり弱いです。私がやろうとしていることはとても簡単です。「否定語境界」\B
は私が望んでいたフラグだと思っていましたが、間違っていたようです
string = "foo bar-15";
var theInteger = string.replace('/bar\-\B', ''); // expected result = 15
CSS クラスに追加された整数として渡された数値をキャプチャする必要があります。私の正規表現はかなり弱いです。私がやろうとしていることはとても簡単です。「否定語境界」\B
は私が望んでいたフラグだと思っていましたが、間違っていたようです
string = "foo bar-15";
var theInteger = string.replace('/bar\-\B', ''); // expected result = 15
Use a capture group as outlined here:
var str= "foo bar-15";
var regex = /bar-(\d+)/;
var theInteger = str.match(regex) ? str.match(regex)[1] : null;
Then you can just do an if (theInteger)
wherever you need to use it
末尾の数字(一種の逆parseInt)が必要な場合は、次のようにします。
var num = 'foo bar-15'.replace(/.*\D+(\d+)$/,'$1');
また
var m = 'foo bar-15'.match(/\d+$/);
var num = m? m[0] : '';
これを試して:
var theInteger = string.match(/\d+/g).join('')
string = "foo bar-15";
var theInteger = /bar-(\d+)/.exec(string)[1]
theInteger // = 15