Javascript 正则表达式文本/数字提取
下面是从我的tesetstr获取数字6的正则表达式代码。如何使用regex从teststr中提取字符串“months”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中的数字(请注意,您根本没有使用该组,因此它是多余的) 您似乎只希望匹配空格+月份之前的数字。使用以下正
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]