我是Regex的新手,但对于Java来说并不陌生。我目前正在尝试创建一个将用户输入格式化为两个单独值的正则表达式,但我对如何处理它有点好奇。
例如,假设用户猜测篮球比赛得分,他们可以使用少数几种格式:
57-89
57:89
57/89
等
我想我的问题是第一个,我如何让我的Regex表达式处理多个数字?也就是说,无论每个值放入多少位数,都能识别出有效的猜测。第二,我将如何创建一个可以处理多种格式的Regex表达式,例如上面列出的格式?
提前谢谢。
答案 0 :(得分:1)
如果输入采用以下格式:
<integer><non-integer delimiter><integer>
然后这个split
method将它解析成一个String [],每个整数作为一个单独的元素:
inputString.split("[^0-9]+");
[^0-9]+
是分隔符的正则表达式:
[]
字符类; ^
排除以下字符; 0-9
字符范围0,1,...,9; +
一次或多次出现(这意味着它适用于多字符分隔符,例如59 - 87
)。有关Java正则表达式的更多信息是here。