正则表达式中(.)表示将任意一个字符封装成组或者说是一个对象,字符串中\\1就是对这个对象的复用1次,我这个理解正确吗?
我写了几句代码验证了一下:
- String str = "abcdddeffgggghhhhh";
- String regex1 = ".";//"."和(.)代表的意思是相同的
- String regex2 = "(.)\\1";// 复用了1次
- String regex3 = "(.)\\1+";//复用了1次或多次
- String[] strs1 = str.split(regex1);//全被切割了所以没内容
- String[] strs2 = str.split(regex2);//相当于按照两个相同字符来切割的,打印结果abcdeh
- String[] strs3 = str.split(regex3);//按至少2个相同的字符打印,打印结果abce
- <p> </p>
复制代码
请问大神们我上面的理解对不对?
|
|