如何编写只接受数字或分数格式的正则表达式?

时间:2017-03-31 07:28:27

标签: regex regular-language

我想写只能接受数字或分数的正则表达式。例如:

12453  Valid
562    Valid
1142/75  Valid
65/1    Valid
1.2    Invalid
asd    Invalid
/45    Invalid

现在我为分数

写了这个
^\d+\/\d+$

1 / 1,45 / 15等工作正常

仅限数字

^\d*$

现在用户只能写数字或分数。我如何制作一个可以在这种情况下使用的正则表达式?

1 个答案:

答案 0 :(得分:1)

  

现在用户只能写数字或分数。我如何制作一个可以在这种情况下使用的正则表达式?

您可以通过在可选组中进行分组来使正则表达式中的小数部分可选。

您可以使用:

^\d+(?:\/\d+)?$

(?:\/\d+)?是可选的非捕获组,它使正则表达式中的小数部分可选。