我试图验证用户是否以以下格式输入坐标: x,y 所以我使用正则表达式。 x 和 y 可以在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的正则表达式功能是否是一种好习惯?我可以想到其他方法来做到这一点,但这只是为了我正在研究的个人项目,并尝试不同的方法来处理我通常做得很乱的事情。
答案 0 :(得分:1)
我认为您理解[...]
错误的方式:它意味着您指定了一系列字符。因此[1-15]
表示: 1
至1
和5
。因此它等同于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}