仅捕获第一次出现的正则表达式字符串

时间:2017-09-11 16:12:50

标签: java regex

目前,我正试图抓住第一次出现的空间'或者' - >'在每一行。但是,我的表达式捕获了所有出现的分隔符。

String delimiters = "(->)|[\\s]+"
String[] splittedLine = planArray[i].split(delimiters)

其中planArray[i]是我们尝试使用正则表达式进行拆分的字符串,例如 leftClick 100 100

我希望leftClick为splittedLine[0]100 100splittedLine[1]

由于

1 个答案:

答案 0 :(得分:3)

使用limit参数version of split并将结果限制为2个部分:

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

(另外,您可以将正则表达式简化为"->|\\s+"。)