完璧に動作する正規表現パターンを作成しましたが、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 正規表現は次のとおりです。
(\\"|[^" ])+|"(\\"|[^"])*"