关于java的正则表达式中.和&& 有以下代码System.out.println("a".matches("[.&&[a]]"));显示为false.不是匹配任意字符吗?那么和a相与后应该还是a啊,为什么结果是false呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 跟你解析下[.&&[a]]这个式子的意思:[.&&[a]这个会去匹配.&[a这几个字符中的一个字符最后的那个]当然就是匹配"]"这个字符了所以你那个为false; "[.&&[a]这个会去匹配.&[a这几个字符中的一个字符 "按照这个意思,a也匹配啊 "[.&&[a]这个会去匹配.&[a这几个字符中的一个字符 "按照这个意思,a也匹配啊 .放到中括号中只能匹配一个点,你把代码改成System.out.println("a".matches("[a-z&&[a]]"))就可以了 .放在[]中就当.用,不起到匹配任意字符了,同时.放在\\后面也是起到字符.的作用。public class Test { public static void main(String[] args){ System.out.println("a".matches("[.]")); // 打印结果---false System.out.println(".".matches("[.]")); // 打印结果---true System.out.println("a".matches(".")); // 打印结果---true System.out.println("a".matches("\\.")); // 打印结果---false System.out.println("a".matches(".")); // 打印结果---true }} []中只有运算符起作用,即"^"与"&&",通配符不起作用,"."会被认为是字符".",而不是通配符。所以楼主的例子"."与"a"相与之后为空,肯定不和"a"匹配了。 PV操作(生产者-消费者问题)-2 关于java的学习步骤 下面一段代码是什么意思? JAVA调用系统命令的困惑! 使用过JTable的高手请帮忙,给高分! 求助: 精通JTable的高手请出手! 很简单的问题 如何在指点位置的上方弹出快捷菜单(jpopupmenu)? 问个很简单的问题 为什么C++没去实现Java的反射机制? 关于华为的一道笔试题,不解!
public static void main(String[] args){
System.out.println("a".matches("[.]")); // 打印结果---false
System.out.println(".".matches("[.]")); // 打印结果---true
System.out.println("a".matches(".")); // 打印结果---true
System.out.println("a".matches("\\.")); // 打印结果---false
System.out.println("a".matches(".")); // 打印结果---true
}
}
所以楼主的例子"."与"a"相与之后为空,肯定不和"a"匹配了。