Jas*_*ary 12
这不是正则表达式的良好用法.
我建议模数或整数除法运算符.
if (number % 10) {
// number doesn't end in zero
}
Run Code Online (Sandbox Code Playgroud)
\d+[1-9]
Run Code Online (Sandbox Code Playgroud)
我认为应该工作.
这将匹配至少一个数字后跟一个非零数字.
但是,你很可能需要以某种方式嵌入它,或者通过锚定它:
^\d+[1-9]$
Run Code Online (Sandbox Code Playgroud)
验证完整的字符串只包含该数字(但是你也可以将所述字符串转换为数字并执行mod 10).
你现在拥有它的方式(以及你问题中的表达式)它会匹配一个像1203两个表达式没有问题的数字,因为正则表达式匹配子串,除非你锚定它们(除了在某些环境中它们默认锚定的那样 - 我认为Java就是这样做的).
此问题仅适用于至少两位数,您在问题中发布的表达式也是如此.我认为这是故意的.如果没有,那么在两种情况下都+应该是一个*.
| 归档时间: |
|
| 查看次数: |
3831 次 |
| 最近记录: |