获取字符串中的最后一个数字(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