在Windows上,如何验证安装的CuDNN的版本号?
当我搜索Linux机器的答案时,我发现了很多结果.似乎没有一种明确的方法可以找出为Windows安装的版本.
Matcher headerMatcher = Pattern.compile("([a-zA-Z]+[a-zA-Z\\s]*)[\\s]+(\\d+)")
.matcher("jumping around 9");
Run Code Online (Sandbox Code Playgroud)
因此,第一个捕获组应该是具有至少一个字母字符的任何字符串.以下是这方面的例子:
第二个捕获组只是数字.
所以,这是我尝试捕获这两组:
System.out.println(headerMatcher.group(1));
System.out.println(headerMatcher.group(2));
Run Code Online (Sandbox Code Playgroud)
这是结果:
run:
Exception in thread "main" java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:485)
at Main.main(Main.java:51)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)
在http://www.regexplanet.com/advanced/java/index.html上测试后
这是我的预期:

有些东西不对,我不知道为什么.
public abstract class InterruptableEvaluator<State> {
public abstract evaluate(State state);
public abstract haltEvaluation();
private final class EvaluationThread extends Thread {
private State state;
public EvaluationThread(State state) {
this.state = state;
}
@Override
public void run() {
evaluate(state);
haltEvaluation();
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题在于:
@Override
public void run() {
evaluate(state);
haltEvaluation();
}
Run Code Online (Sandbox Code Playgroud)
该对象state被视为一个java.lang.Thread.State对象,而不是使用参数InterruptableEvaluator.
如何明确告诉Java使用参数变量而不是java.lang.Thread.State?