我有一个字符串,如" 33232323232120"它可以是不同长度的。我想选择最后两位数字并检查它们是否在一个范围内,例如例如,数字必须介于0和5之间。
到目前为止我所拥有的:
\d{1}[0-5]$
这与最后2位数字正确匹配,但错误地匹配" 20"在上面的例子中,即数字不在0和5之间。
有人可以提供建议吗?
答案 0 :(得分:1)
你只需要
[01][0-9]$
请参阅regex demo
[01]
匹配1
或0
,[0-9]
匹配任何数字。因此,您从00
到19
匹配。
var vals = ["33232323232120","23445301","23445302","23445303","23445304","23445305","23445306","23445307","23445308","23445309","234453010","245841511","245841512","245841513","245841514","245841515","245841516","245841517","245841518","245841519","521","531"];
var rx = /[01][0-9]$/;
// Demo
document.body.innerHTML += "Pattern: <b>" + rx.source + "</b><br/>";
for (var s = 0; s < vals.length; s++) {
document.body.innerHTML += "Testing \"<i>" + vals[s] + "</i>\"... ";
document.body.innerHTML += "Matched: <b>" + rx.test(vals[s]) + "</b><br/>";
}
答案 1 :(得分:0)
您好我想选择最后两位数字\d{2}$
如果您想选择最后一个数字,即使它只是一个数字(0-9),您也可以使用\d{2}$|\d$
你的正则表达式在我的审判here中发挥作用 根据我的理解,您的代码将选择所有十位的最后2位数和0-5
的单位