Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取字符串中的最后一个数字(JavaScript)_Javascript_Regex - Fatal编程技术网

获取字符串中的最后一个数字(JavaScript)

获取字符串中的最后一个数字(JavaScript),javascript,regex,Javascript,Regex,var str=“7-Dec-1985” var str=“12-Jan-1703” var str=“18-Feb-1999” 我怎样才能摆脱这一年的束缚呢?我尝试了许多不同的RegExp,但似乎没有一个有效 我希望re=newregexp(/(\d+)\d*\z/)似乎起了作用,但遗憾的是它没有起作用 如果您有任何建议,我们将不胜感激,因为您所有的str(s)都使用-作为分隔符,这将对您有用: var str = "7-Dec-1985", arr = str.split('-'),

var str=“7-Dec-1985”
var str=“12-Jan-1703”
var str=“18-Feb-1999”

我怎样才能摆脱这一年的束缚呢?我尝试了许多不同的RegExp,但似乎没有一个有效

我希望
re=newregexp(/(\d+)\d*\z/)
似乎起了作用,但遗憾的是它没有起作用


如果您有任何建议,我们将不胜感激

,因为您所有的
str
(s)都使用
-
作为分隔符,这将对您有用:

var str = "7-Dec-1985",
    arr = str.split('-'),
    year = arr[2];

console.log(year);
这应该可以

var year = str.match(/\d+$/)[0];
我想试试:
/.*(\d{4})$/


在此处测试您的正则表达式:

如果可以使用拆分,请不要使用正则表达式。非常感谢,这非常有效。但事实证明,今年之后会有更多的信息。“7-Dec-1985 12:00 AM”我是否能够轻松地从字符串中删除时间?“7-Dec-1985 12:00 AM”。拆分(“”)[0]。拆分(“-”)[2]只需将结果解析为int即可解决此问题。再次干杯!请注意,
re=newregexp(/(\d+)\d*\z/)
实际上正在创建两个regex对象,第一个是
/(\d+)\d*\z/
,然后将其传递给
RegExp
contstructor。通常,只有在需要动态构造模式时,才使用
newregexp
,然后将该模式作为字符串传递给构造函数。在所有其他情况下,
re=/(\d+)\d*\z/完全可以。这里没有理由需要正则表达式。一般来说,RegExp比较昂贵,应该谨慎使用。如果未找到任何内容,则FYI str.match将返回null