- class demonn {
- public static void demo1() {
- //叠词 快快乐乐,高高兴兴
- String regex = "(.)\\1(.)\\2";
- System.out.println("快快乐乐".matches(regex));//true
- System.out.println("快乐乐乐".matches(regex));//false
- System.out.println("高高兴兴".matches(regex));//true
- System.out.println("死啦死啦".matches(regex));//false
-
- //叠词 死啦死啦,高兴高兴
- String regex2 = "(..)\\1";
- System.out.println("死啦死啦".matches(regex2));//true
- System.out.println("高兴高兴".matches(regex2));//true
- System.out.println("快快乐乐".matches(regex2));//false
- }
- public static void main(String[] args) {
- demo1();
- }
- }
复制代码 String regex = "(.)\\1(.)\\2";
String regex2 = "(..)\\1";
这里面的\\1和\\2代表的意思是把第一组复制一遍,第二组复制一遍,那么\\是复制还是\\1是复制?如果\\1是复制,那么是不是\\2就是复制两次?但是\\2表示的又是复制第二组,谁能给解释下具体的原理呢?
|
|