我已经编写了一个方法,用于在程序向前移动之前将字符串输入与特定模式匹配,但Netbeans IDE告诉我转义字符是非法的。我不确定如何解决它。
方法如下:
public static boolean patternMatch(String ct){
if(ct.equals("\d\d:\d\dam")){
return true;
}
else {
if(ct.equals("\d\d:\d\dpm"))
return true;
}
return false;
}
模式是一种时间模式,需要根据用户的输入匹配##:##am
或##:##pm
。这一个会起作用吗?有没有办法可以通过这种方式将输入与模式相匹配?
答案 0 :(得分:3)
首先.. 不要忘记因为Java(\\d
)而双重转义!!
使用返回match()
的正则表达式函数boolean
。您可以使用默认库Matcher
中的类Pattern
和java.util.regex.
。
public static boolean patternMatch(String ct) {
Pattern p = Pattern.compile("\\d\\d:\\d\\d[ap]m");
Matcher m = p.matcher(ct);
return m.matches();
}
请注意,您可以使用if-else
轻松避免[ap]m
语句,该a
使p
或am
中的一个与pm
和return ct.matches("\\d\\d:\\d\\d[ap]m");
成功相匹配}。
然而,最简单直接的方法是:
1.0.0-beta.11-webpack.2
答案 1 :(得分:1)
public void(double factor1, double factor2){
...
cplexModel.import("path/to/abc.lp")
// Change parameters, how to do it?
这将检查字符串是否在一次测试中匹配am或pm,因此大大简化了方法。