提问人:unstuck 提问时间:8/9/2022 最后编辑:unstuck 更新时间:8/9/2022 访问量:39
从字符串返回数字的函数,如果长度 >= 4
Function to return digits from a string, if length >= 4
问:
此函数正在检索字符串的最后数字:
function getLastNumberOfString(str){
var allNumbers = str.replace(/[^0-9]/g, ' ').trim().split(/\s+/);
return parseInt(allNumbers[allNumbers.length - 1], 10);
}
我希望它检索字符串的最后一位数字,如果它至少包含 4 位数字。
例如:
"1234-string-text/8177-1-3-tools-for-knowledge.html"
正在返回:
3
我希望它返回:
8177
答:
3赞
anubhava
8/9/2022
#1
要匹配包含至少 4 位数字的最后一组数字,请使用:
\d{4,}(?!.+\d{4})
正则表达式详细信息:
\d{4,}
:匹配 4 位或更多数字(?!.+\d{4})
:否定 Lookahead 断言前面没有其他 4 位数字出现
法典:
function getLastNumberOfString(str){
var m = str.match(/\d{4,}(?!.+\d{4})/);
return (m ? parseInt(m[0]) : NaN);
}
console.log(getLastNumberOfString("1234-string-text/8177-1-3-tools-for-knowledge.html"));
console.log(getLastNumberOfString("tools-for-knowledge.html"));
评论
/