var str = "7-Dec-1985"
var str = "12-Jan-1703"
var str = "18-Feb-1999"
如何从字符串中提取年份?我尝试了许多不同的正则表达式,但没有一个有效。
我本以为 re = new RegExp(/(\d+)\D*\z/);
能够生效,但很遗憾它没有。
如果您有任何建议,请告诉我,非常感谢!
var str = "7-Dec-1985"
var str = "12-Jan-1703"
var str = "18-Feb-1999"
如何从字符串中提取年份?我尝试了许多不同的正则表达式,但没有一个有效。
我本以为 re = new RegExp(/(\d+)\D*\z/);
能够生效,但很遗憾它没有。
如果您有任何建议,请告诉我,非常感谢!
这应该可以解决问题。
var year = str.match(/\d+$/)[0];
因为你所有的 str
(s) 都使用 -
作为分隔符,所以这将对你起作用:
var str = "7-Dec-1985",
arr = str.split('-'),
year = arr[2];
console.log(year);
re = new RegExp(/(\d+)\D*\z/);
实际上创建了两个正则表达式对象,第一个是/(\d+)\D*\z/
,然后将其传递给RegExp
构造函数。通常只有在需要动态构建模式并将其作为字符串传递给构造函数时,才会使用new RegExp
。在所有其他情况下,re = /(\d+)\D*\z/;
完全可以胜任。 - Yoshi