没有点的数字的正则表达式

时间:2017-10-11 23:41:20

标签: c# regex

我需要一个只接受整数的正则表达式:

12 valid output 12
(12) valid output 12
[12] valid output 12
12foo valid output 12
12. not valid
.12 not valid
12.12 not valid

我有这样的事情:

^(?![.])\d+(?![.])

2 个答案:

答案 0 :(得分:0)

真的很遗憾我觉得这应该是评论而不是答案。我需要声望点,原谅我。

^[^\.]+$

答案 1 :(得分:0)

根据您的帖子示例和评论,正确的模式应该是这样的:

(?<![.\d])\d+(?![.\d])

这非常接近你的。 差异:

  • 您没有设置检查以确保两侧都没有数字。您只选中了.符号
  • 您在\d+的左侧使用了否定预测。如果你想“向左”看“消极”,你需要使用负面看 - 后面(不在前面)。

注意:我不使用起始符号^,但我希望这对你来说没什么大不了的。