正则表达式用特定的开头捕获整个单词

时间:2012-10-24 00:20:04

标签: javascript jquery regex syntax

我需要捕获一个作为附加整数传递给CSS类的数字。我的正则表达式非常弱,我想要做的很简单。我认为“负面词边界”\B是我想要的旗帜,但我想我错了

string = "foo bar-15";
var theInteger = string.replace('/bar\-\B', ''); // expected result = 15

4 个答案:

答案 0 :(得分:3)

按照概述here使用捕获组:

var str= "foo bar-15";
var regex = /bar-(\d+)/;
var theInteger = str.match(regex) ? str.match(regex)[1] : null;

然后你可以在任何需要使用它的地方if (theInteger)

答案 1 :(得分:1)

试试这个:

var theInteger = string.match(/\d+/g).join('')

答案 2 :(得分:1)

string = "foo bar-15";
var theInteger = /bar-(\d+)/.exec(string)[1]
theInteger // = 15

答案 3 :(得分:1)

如果你只想要最后的数字(一种反向parseInt),为什么不呢:

var num = 'foo bar-15'.replace(/.*\D+(\d+)$/,'$1');

var m = 'foo bar-15'.match(/\d+$/);
var num = m? m[0] : '';