正则表达式匹配任何不以零结尾的数字

Kan*_*ete 6 javascript regex

我要求输入骰子游戏.输入的数字是否可以被10整除是很重要的.

对于以零结尾的数字,我有\ d + 0.

我需要一个不以零结尾的数字.

提前致谢.

Jas*_*ary 12

这不是正则表达式的良好用法.

我建议模数或整数除法运算符.

if (number % 10) {
  // number doesn't end in zero
}
Run Code Online (Sandbox Code Playgroud)


Joe*_*oey 5

\d+[1-9]
Run Code Online (Sandbox Code Playgroud)

我认为应该工作.

这将匹配至少一个数字后跟一个非零数字.

但是,你很可能需要以某种方式嵌入它,或者通过锚定它:

^\d+[1-9]$
Run Code Online (Sandbox Code Playgroud)

验证完整的字符串只包含该数字(但是你也可以将所述字符串转换为数字并执行mod 10).

你现在拥有它的方式(以及你问题中的表达式)它会匹配一个像1203两个表达式没有问题的数字,因为正则表达式匹配子串,除非你锚定它们(除了在某些环境中它们默认锚定的那样 - 我认为Java就是这样做的).

此问题仅适用于至少两位数,您在问题中发布的表达式也是如此.我认为这是故意的.如果没有,那么在两种情况下都+应该是一个*.

  • 我担心,这与单位数字不匹配. (3认同)