数值的正则表达式模式

Mic*_*ern 53 regex

我需要一个正则表达式模式才能接受正整数.它也可以接受一个零.

我不想接受带有前导零的小数,负数和数字.

有什么建议?

Fed*_*oni 87

^(0|[1-9][0-9]*)$
Run Code Online (Sandbox Code Playgroud)

  • 不,它不应该接受逗号. (5认同)

Che*_*ery 17

" [1-9][0-9]*|0"

我只是用" [0-9]+"代表正整数.

  • 如果我在R中使用grepl("[0-9] +","1111a"),它会给我TRUE (2认同)

小智 12

这将允许以零开头的十进制数字(或整数):

^(([1-9]*)|(([1-9]*)\.([0-9]*)))$
Run Code Online (Sandbox Code Playgroud)

如果要允许以零开头的数字,您可以执行以下操作:

^(([0-9]*)|(([0-9]*)\.([0-9]*)))$
Run Code Online (Sandbox Code Playgroud)