Javascript 正则表达式文本/数字提取

Javascript 正则表达式文本/数字提取,javascript,jquery,regex,Javascript,Jquery,Regex,下面是从我的tesetstr获取数字6的正则表达式代码。如何使用regex从teststr中提取字符串“months” var teststr = '6 months'; var num = /(\d+)\s*month/; var days = teststr.match(num)[1]; console.log(days); 当前,(\d+)匹配一个或多个将它们捕获到组1中的数字(请注意,您根本没有使用该组,因此它是多余的) 您似乎只希望匹配空格+月份之前的数字。使用以下正

下面是从我的tesetstr获取数字6的正则表达式代码。如何使用regex从teststr中提取字符串“months”

var teststr = '6 months';
var num = /(\d+)\s*month/;
var days = teststr.match(num)[1];        
console.log(days);
当前,
(\d+)
匹配一个或多个将它们捕获到组1中的数字(请注意,您根本没有使用该组,因此它是多余的)

您似乎只希望匹配空格+月份之前的数字。使用以下正则表达式:

var num = /(\d+)\s*month/;
然后使用

var days = ($('#infra_time_threshold').text()).match(num)[1] * 30;
                                                         ^^^
或者,您可以在
\d+
之后使用先行:

var num = /\d+(?=\s*month)/;
然后只需使用
.match(num)[0]
,因为组0的值将是整个匹配


注意:在访问
match
对象的第0个或第1个索引之前,您可能需要添加一个空检查。

提供您的列数据类型和一个示例值除非您更清楚地解释您的问题,否则我们无法帮助您。
var num=/(\d+\s*month/->
.match(num)[1]