Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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 - Fatal编程技术网

Java 仅捕获正则表达式字符串的第一个匹配项

Java 仅捕获正则表达式字符串的第一个匹配项,java,regex,Java,Regex,目前,我正在尝试捕捉每行上第一次出现的“空格”或“->”。但是,我的表达式捕获所有出现的分隔符 String delimiters = "(->)|[\\s]+" String[] splittedLine = planArray[i].split(delimiters) 其中,planArray[i]是我们试图用正则表达式拆分的字符串,例如。 leftClick 100 100 我希望leftClick成为splittedLine[0]和100100成为splittedLine[1]

目前,我正在尝试捕捉每行上第一次出现的“空格”或“->”。但是,我的表达式捕获所有出现的分隔符

String delimiters = "(->)|[\\s]+"
String[] splittedLine = planArray[i].split(delimiters)
其中,
planArray[i]
是我们试图用正则表达式拆分的字符串,例如。
leftClick 100 100

我希望leftClick成为
splittedLine[0]
100100
成为
splittedLine[1]

谢谢

使用带有
限制
参数的,并将结果限制为两部分:

String line = "leftClick 100 100";
String delimiters = "(->)|[\\s]+";
String[] splittedLine = line.split(delimiters, 2);      
System.out.println(Arrays.toString(splittedLine));
// [leftClick, 100 100]
(另外,您可以将正则表达式简化为
“->|\\s+”

使用具有
限制
参数的,并将结果限制为两部分:

String line = "leftClick 100 100";
String delimiters = "(->)|[\\s]+";
String[] splittedLine = line.split(delimiters, 2);      
System.out.println(Arrays.toString(splittedLine));
// [leftClick, 100 100]

(另外,您可以将正则表达式简化为
“->\\s+”

我认为括号和方括号是不必要的。我认为括号和方括号是不必要的。