正则表达式匹配任何不以零结尾的数字
Regular expression to match any number NOT ending in zero
我要求输入骰子游戏。输入的数字是否能被十整除真的很重要。
我用''d+0表示DO以零结尾的数字。
我需要一个不以零结尾的数字。
提前谢谢。
也许这能达到的效果
'd*[1-9]
这不是正则表达式的好用法。
我建议使用模或整数除法运算符。
if (number % 10) {
// number doesn't end in zero
}
'd+[1-9]
我认为应该有效。
这将至少匹配一个数字,后跟一个非零数字。
然而,您很可能需要以某种方式嵌入它,或者通过锚定它:
^'d+[1-9]$
验证完整的字符串是否只包含该数字(但您也可以将所述字符串转换为数字并进行mod 10)。
按照目前的方式(以及问题中的表达式),它将匹配像1203
这样的数字,这两个表达式都没有问题,因为正则表达式匹配子字符串,除非您锚定它们(除非在某些环境中,它们默认锚定为这样——我认为Java会这样做)。
同样,这只适用于至少两位数字,就像你在问题中发布的表达式一样。我认为这是故意的。如果不是,那么在这两种情况下,+
可能都应该是*
。
我认为
'd*[1-9]
效果更好。
我认为(d%10==0)是测试10整除性的更好方法。
除法技巧对整数有效,对小数无效。
如果有人想验证这个:
123.120
它以一个非有效的零结束。
所以123.12/X和123.120/X给出了相同的结果123.12%X和123.120%X相同(最后一个操作无效,因为值不是整数,所以无法获取浮点/数字的模块)
只能为整数值(integer/integer)获取模块。
还有人可以尝试寻找:
AnyTextWithNumbersNotEndingOnZero_0 <--- Not valid
AnyTextWithNumbersNotEndingOnZero <--- Valid
所以最好的一个更清晰的可以是这样的东西:
/[0-9]*0$/
希望有帮助。
啊!如果想要字母和数字,但最后不是零:
/[0-9A-Za-z]*0$/
etc
如果您想使用正则表达式,请尝试此正则表达式
^([1-9]+)$
使用纯JavaScriptvar num=温度;
if(temp % 10 !==0){
//your code
}
您可以尝试这个来排除0
'd+[^0]?
相关文章:
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 测试索引值是否等于某个数字的倍数
- 将数字转换为一定数量的硬币
- 键入最后一位数字后自动提交
- 如何在javascript中迭代数字列表
- 如果数字以1结尾,做点什么
- 在字符串的开头和结尾搜索相同的数字
- 以零结尾的Javascript数字
- Jquery - 检查选择器是否以数字结尾
- 按结尾数字对以数字结尾的字符串进行排序
- Javascript Regex-9个字符长,以'所以-'并且以6个数字结尾
- 如何在 Javascript 中从字符串的开头和结尾修剪所有非字母数字字符
- 以九位数字开头并以 x 或 v 结尾的有效用户输入
- 正则表达式:匹配以任意数字结尾的字符串
- 以字符开头、以数字结尾的字符串的模式匹配
- 正则表达式长度为X个字符,由字母数字组成,但不包括_和句号,但不包括开头和结尾
- 确定数字是否以100结尾的算法
- 触发点击按钮以id's以数字结尾
- 如何检查以数字结尾的字符串是不是日期
- 正则表达式匹配任何不以零结尾的数字