1-6位数的RegEx,后跟.nn

jjjwad0x  于 2022-11-26  发布在  其他
关注(0)|答案(4)|浏览(102)

我正在使用JavaScript,如果有一个匹配1到6个数字的模式,后面跟着一个可选的.nn,我将非常感激。
所以,最后我希望有一个函数,它对匹配如下模式的字符串返回True:

nn
nnn
nn.nn
nnnnn.nn
nnnn
nnnnnn.nn
nnnnnn

(其中n是数字)。
谢谢!

lfapxunr

lfapxunr1#

您可以使用/^\d{1,6}(.\d\d)?$/执行此操作,因此js看起来如下所示:

/^\d{1,6}(\.\d\d)?$/.test(str)
vjrehmav

vjrehmav2#

以下方法有效:

^[0-9]{1,6}(\.[0-9][0-9])?$

在现代的正则表达式引擎中,你可以使用\d而不是[0-9],我只是考虑了最小公分母)。换句话说,这等价于:

^\d{1,6}(\.\d\d)?$

{1,6}位用于指定前一个匹配出现1到6次(包括1到6次),并且X?X{0,1}相同(换句话说,(\.[0-9][0-9])?表示句点后面紧跟两位数字,可以出现零次或一次)。

yk9xbfzb

yk9xbfzb3#

请尝试以下正则表达式:

/\d{1,6}(?:\.\d\d)?/

编辑:

根据@Justin的评论,这里是增强的reges:

/(?:^|\b)\d{1,6}(?:\.\d\d)?(?:\b|$)/

以确保仅匹配此数字,并以单词边界分隔。

nwo49xxi

nwo49xxi4#

请尝试以下操作:\w{1,6}(\.nn){0,1}
您说的是数字,但显示的是nnnn.nn。以上是nnnn.nn的示例,但您可以通过以下方式轻松地更改为数字:

\d{1,6}(\.nn){0,1}

相关问题