有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

正则表达式Java正则表达式指定数字的范围

我试图验证用户是否以以下格式输入坐标:x,y 所以我使用正则表达式xy可以在1到15之间,所以我使用了

[1-15]\\d{1,2},[1-15]\\d{1,2}

但这不起作用,因为15显然不是一个数字。我把它改成了

\\d{1,2},\\d{1,2}

所以,至少我可以确认它的两个一位数或两位数,但它的两边可能都是99;不好的。我尝试过其他一些方法,比如

\\d{1}|[1]\\d[0-5]\\d...

但什么都不管用,老实说,我已经看了这么长时间,这一切都没有意义了

更重要的是,使用java的正则表达式特性是一种很好的做法吗?我可以想出其他方法来做这件事,但这只是为了我正在做的一个个人项目,并尝试不同的方法来处理我通常做得一团糟的事情


共 (1) 个答案

  1. # 1 楼答案

    我认为你理解[...]的方式是错误的:这意味着你指定了一系列字符。所以[1-15]的意思是:{}到15。因此,它相当于1|5

    但是,您可以使用[1-9]|1[0-5]指定数字1到15。将其插入正则表达式会导致:

    ([1-9]|1[0-5])\\d{1,2},([1-9]|1[0-5])\\d{1,2}