Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正则表达式:格式化/多种格式_Java_Regex_Formatting - Fatal编程技术网

Java 正则表达式:格式化/多种格式

Java 正则表达式:格式化/多种格式,java,regex,formatting,Java,Regex,Formatting,我对正则表达式相当陌生,但对Java作为一种编码语言并不陌生。我目前正在尝试创建一个正则表达式,将用户的输入格式化为两个单独的值,但我对如何处理它有点好奇 例如,假设用户猜测篮球比赛的结果分数,他们可以使用以下几种格式: 57-89 57:89 57/89 等等 我想我的问题是首先,我该如何让我的正则表达式处理多个数字?也就是说,识别一个有效的猜测,而不管他们为每个值输入多少位数。其次,我如何创建一个能够处理多种格式的正则表达式,比如上面列出的格式 提前谢谢 如果

我对正则表达式相当陌生,但对Java作为一种编码语言并不陌生。我目前正在尝试创建一个正则表达式,将用户的输入格式化为两个单独的值,但我对如何处理它有点好奇

例如,假设用户猜测篮球比赛的结果分数,他们可以使用以下几种格式:

     57-89
     57:89
     57/89
等等

我想我的问题是首先,我该如何让我的正则表达式处理多个数字?也就是说,识别一个有效的猜测,而不管他们为每个值输入多少位数。其次,我如何创建一个能够处理多种格式的正则表达式,比如上面列出的格式


提前谢谢

如果输入为以下格式:

<integer><non-integer delimiter><integer>
[^0-9]+
是分隔符的正则表达式:

  • []
    字符类
  • ^
    排除以下字符
  • 0-9
    字符范围0,1,…,9
  • +
    一次或多次出现(这意味着它将适用于多字符分隔符,例如
    59-87

关于Java正则表达式的更多信息如下。

如果不首先限制输出,您将很难获得成功;“五十七到八十九”怎么样?好吧,我假设输入至少是整数格式的。我想我可以把它限制在我的程序只接受与特定类型匹配的输入的地方,但这不会消除正则表达式的用途吗?不,恰恰相反;如果你想有效地使用正则表达式,你必须很好地了解你的输入文本。接受任何东西并试图从中提取有价值的数据不是正则表达式的用途。您至少需要有一些约束,并且这些约束很容易用正则表达式表达。
inputString.split("[^0-9]+");