вы можете использовать следующее регулярное выражение: ^.*\\(.*)\.exe.*$
и имя файла будет в первой группе совпадений.Вот пример .
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main
{
public static void main(final String[] args)
{
final String input = args[0];
final Pattern pattern = Pattern.compile("^.*\\\\(.*)\\.exe.*$");
final Matcher matcher = pattern.matcher(input);
if (matcher.find())
{
System.out.println("matcher.group(1) = " + matcher.group(1));
}
else
{
System.out.format("%s does not match %s\n", input, pattern.pattern());
}
}
}
, запустите его с C:\workspace\photon\output\i686\diagnostic\photon.exe(Suspended) Thread(Running)
в качестве ввода и вот ожидаемый результат:
matcher.group(1) = photon