只捕获正则表达式字符串的第一个匹配项
问题描述:
目前,我试图在每一行上捕捉到'space'或' - >'的第一个匹配项。但是,我的表情捕捉到所有分隔符。只捕获正则表达式字符串的第一个匹配项
String delimiters = "(->)|[\\s]+"
String[] splittedLine = planArray[i].split(delimiters)
其中planArray[i]
是我们试图用正则表达式,例如分割字符串 leftClick 100 100
我想leftClick是splittedLine[0]
和100 100
是splittedLine[1]
。
感谢
答
使用具有limit
参数和结果限制为2份version of split
:
String line = "leftClick 100 100";
String delimiters = "(->)|[\\s]+";
String[] splittedLine = line.split(delimiters, 2);
System.out.println(Arrays.toString(splittedLine));
// [leftClick, 100 100]
(此外,您可以简化正则表达式"->|\\s+"
。)
我觉得括号和括号是不必要的。 – shmosel