正则表达式从字符串的末尾获得数字

问题描述:

我有一个像stringNumber变量的id,如下所示:example12 我需要一些JavaScript正则表达式来从字符串中提取12个“example”对于所有id都是常量只是数字会有所不同。正则表达式从字符串的末尾获得数字

此正则表达式匹配字符串末尾的数字。

var matches = str.match(/\d+$/); 

如果成功,它将返回其0个元素匹配的Array。否则,它将返回null

在访问0成员之前,请确保已进行匹配。

if (matches) { 
    number = matches[0]; 
} 

jsFiddle

如果您必须将其作为Number,您可以使用函数来转换它,例如parseInt()

number = parseInt(number, 10); 
+1

提示:它是更有效地使用'[0-9]'比它是使用'\ D'。查看https://*.com/questions/16621738 – Marathon55 2017-12-26 16:11:28

+0

@ Marathon55很可能是这种情况,但我仍然会使用'\ d'(除非它已成为性能瓶颈) – alex 2018-01-09 10:37:49

正则表达式:

var str = "example12"; 
parseInt(str.match(/\d+$/)[0], 10); 

字符串操作:

var str = "example12", 
    prefix = "example"; 
parseInt(str.substring(prefix.length), 10);