我创建了一个完美的正则表达式模式,但我无法让它在 Java 中工作:
(\\"|[^" ])+|"(\\"|[^"])*"
应用于
robocopy "C:\test" "C:\test2" /R:0 /MIR /NP
给(应该)
[0] => robocopy
[1] => "C:\test"
[2] => "C:\test2"
[3] => /R:0
[4] => /MIR
[5] => /NP
根据http://myregextester.com/index.php在第 0 组
现在,我如何在 Java 中获得这 6 个值?我试过
Pattern p = Pattern.compile(" (\\\"|[^\" ])+ | \"(\\\"|[^\"])*\" ");
Matcher m = p.matcher(command);
System.out.println(m.matches()); // returns false
但模式甚至根本不匹配任何东西?
更新原来的 perl 正则表达式是:
(\\"|[^" ])+|"(\\"|[^"])*"