2018010.23 晴
正则表达式的分组功能
*案例演示A
a:切割
需求:请按照叠词切割: “sdqqfgkkkhjppppkl”;
代码实现
public class demo9_regex {
public static void main(String[] args) {
String s1 = "sdqqfgkkkhjppppkl";
String regex = "(.)\\1+"; //代表第一组出现一次到多次
String []arr1 = s1.split(regex);
for (int i = 0; i < arr1.length; i++) {
System.out.println(arr1[i]);
}
}
}
程序结果:
sd
fg
hj
kl
案例演示B
b:替换
需求:我我…我…我.要…要要…要学…学学…学.编…编编.编.程.程.程…程
将字符串还原成:“我要学编程”。
分析:
(1)将字符串以""孔字符代替"."成 我我我我要要要要学学学学编编编编程程程程
(2)将 我我我我要要要要学学学学编编编编程程程程 成 我要学编程
代码实现
public class demo9_regex {
public static void main(String[] args) {
String s1 = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
System.out.println(s1);
System.out.println("----------");
String regex = "\\.+"; //代表.字符出现一次到多次
String s2 = s1.replaceAll(regex, "");
System.out.println(s2);
System.out.println("-----------");
String regex2 = "(.)\\1+"; // 代表任意字符出现一次或者多次
String s3 = s2.replaceAll(regex2, "$1"); //$1代表第一组内容
System.out.println(s3);
}
}
程序结果:
我我…我…我.要…要要…要学…学学…学.编…编编.编.程.程.程…程
我我我我要要要要学学学学编编编编程程程程
我要学编程