我们能否使用正则表达式来检测一个数字是否为偶数?
我在想,是否可以使用正则表达式来代替通常的%
或位运算。
谢谢回复 :)
你可以尝试:
^-?\d*[02468]$
解释:
^
: 开始锚点。-?
: 可选的减号。\d*
: 零个或多个数字。[02468]
: 字符类匹配 0 或 2 或 4 或 6 或 8。$
: 结束锚点。已经给出了正确的答案,我认为正则表达式不是我的首选。
long
范围,可以使用 %
BigInteger.remainder(..)
,但也许检查最后一个char
是否代表偶数数字会更有效率。^\d*(2|4|6|8|0)$
没问题,你只需要检查最后一个数字是否为0/2/4/6/8
永远不要使用正则表达式来完成可以用其他简单方式完成的工作。
我遇到了这篇微软博客,它也说了同样的话:链接