java中的正则学习

来源:互联网 发布:淘宝德国代购有假货吗 编辑:程序博客网 时间:2024/05/01 10:11
package regex.demo;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexDemo2 {public static void main(String[] args) {fun4();}//获取private static void fun4() {String str = "da jia haodf,wo shi";//单词边界String regex = "\\b[a-z]{3}\\b";//将正则封装成对象Pattern p = Pattern.compile(regex);//通过正则获取匹配器Matcher m = p.matcher(str);//通过Matcher对象while(m.find()){System.out.println(m.group());//获取匹配的子列}}//匹配手机号码是否正确public static void fun() {String tel = "18707185910";//String reg = "1[358][0-9]{9}";String reg = "1[358]\\d{9}";//  [0-9]  \dSystem.out.println(tel.matches(reg));}//分割public static void fun1() {String str = "da.ds.fed";//split(String regex)String[] names = str.split("\\.");for(String name : names) {System.out.println(name);}}/* * ((A)(b(c)))  从左括号算组 */public static void fun2() {String str = "daddddddseeeeefed";//直接编号就是组String[] names = str.split("(.)\\1+");for(String name : names) {System.out.println(name);}}//替代public static void fun3() {String str = "daddddddseeeeefed";//String names = str.replaceAll("(.)\\1+","#");//多个重叠用一个代替String names = str.replaceAll("(.)\\1+","$1");System.out.println(names);//分组String tel = "18707185910"; //187****5910tel = tel.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");System.out.println(tel);}}

0 0
原创粉丝点击