Java中正则表达式用法的澄清
我对Regex不熟悉。请纠正我在下面代码中哪里做错了。 另外,请推荐一些Java正则表达式的好书/教程Java中正则表达式用法的澄清,java,regex,Java,Regex,我对Regex不熟悉。请纠正我在下面代码中哪里做错了。 另外,请推荐一些Java正则表达式的好书/教程 public class regexx { public static void main(String[] args) { // TODO Auto-generated method stub String s = "Bug 2742"; if("^Bug [0-9]*".matches(s)){ System.out.println("eq");
public class regexx {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "Bug 2742";
if("^Bug [0-9]*".matches(s)){
System.out.println("eq");
}else {
System.out.println("nq");
}
}
}
我期望“eq”作为输出。但是匹配返回false。正则表达式应该是参数
正则表达式应该是参数 将regex作为参数,而不是执行操作的
字符串
在应用regex
为了澄清,我将这一行分开
试一试
将regex作为参数,而不是执行操作的字符串
在应用regex
为了澄清,我将这一行分开
试一试
Oracle官方教程:非主题:建议使用Java编码约定作为类名。意思是第一个字母是大写字母,因此:regexx
应该是regexx
。除了常量(应该都是大写)之外,所有变量和方法都应该是camelCase。遵循这些标准约定可以让其他Java程序员轻松理解您的代码。@izuriel我喜欢这句建设性的评论。:)Oracle官方教程:非主题:建议使用Java编码约定作为类名。意思是第一个字母是大写字母,因此:regexx
应该是regexx
。除了常量(应该都是大写)之外,所有变量和方法都应该是camelCase。遵循这些标准约定可以让其他Java程序员轻松理解您的代码。@izuriel我喜欢这句建设性的评论。:)
s.matches ("^Bug [0-9]*")
public boolean matches(String regex)
public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "Bug 2742";
boolean matches = s.matches("^Bug [0-9]*");
if(matches){
System.out.println("eq");
}else {
System.out.println("nq");
}
}