正则表达式练习

Posted 北方丶有佳人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式练习相关的知识,希望对你有一定的参考价值。

import java.util.Arrays;

public class RegexTest2 {

    public static void main(String[] args) {

//        test_1();
        
//        test_2();
        
        checkMail();
        
    }
    
    /*
     * 练习1:治口吃
     * "我我我...我我..我要....要..要要....要要..学学学...学编..编编编....编编程程...程程"
     * 还原成:我要学编程
     */
    public static void test_1(){
        
        String temp = "我我我...我我..我要....要..要要....要要..学学学...学编..编编编....编编程程...程程";
        
        //1.明确要使用替换  replaceAll(regex,String);
        
        //2.将点干掉
        temp = temp.replaceAll("\\.+","" );
        
        //3.将叠词干掉
        temp = temp.replaceAll("(.)\\1+", "$1");
        System.out.println(temp);
    }
    
    /*
     * 练习2:对ip地址进行排序
     * 192.168.1.200  10.10.10.10  3.3.50.3  127.0.0.1
     */
    
    public static void test_2(){
        
        String temp = "192.168.1.200  17.10.10.10  3.3.50.3  127.0.0.1";
        
        //排序出现问题了,是按照字典顺序排的序。
        //问题在哪呢?是因为每一个地址段的位数不对。
        //如果位数都是三位就可以了,只有补0了。
        //每一段的位数都不同呢,咋补?
        //干脆按照最大所需0的个数补齐,每一段都补两个0
        
        
        //补两个0
        temp = temp.replaceAll("(\\d+)", "00$1");
//        System.out.println(temp);
        
        //保留每段最后3位
        temp = temp.replaceAll("0*(\\d{3})","$1");
//        System.out.println(temp);
        
        String[] ips = temp.split(" +");
        Arrays.sort(ips);
        for(String ip:ips){
//            System.out.println(ip);
            System.out.println(ip.replaceAll("0*(\\d+)","$1"));
        }
        
    }
    
    /*
     *练习3:校验邮件地址
     */
    
    public static void checkMail(){
        
        String mail = "[email protected]";
        
        String regex = "\\[email protected][a-zA-Z0-9-]+(\\.[a-zA-Z]{2,3}){1,3}";
        regex = "\\[email protected]\\w+(\\.\\w+)+";//[email protected] 比较笼统
        
        
        
        boolean b = mail.matches(regex);
        
        System.out.println(mail+":"+b);
    }
    

}

 

以上是关于正则表达式练习的主要内容,如果未能解决你的问题,请参考以下文章

通过 Java 正则表达式提取 semver 版本字符串的片段

javaSrcipt——练习正则表达式(初级练习集中营)

python成长之路第三篇_正则表达式

python成长之路第三篇_正则表达式

Python使用正则表达式实现计算器练习

字符串replace的理解和练习和配合正则表达式的使用