正则表达式

判断对象是否符合要求,需要用到正则表达式。

matches("正则表达式"),返回值是boolean类型

正则表达式中的一些特殊字符:

元字符                                              限定符                             方括号

\\d 代表0~9的数字                            {n} 出现n次                     [abc] 表示a,b或者c

\\p{Lower} 代表a~z的小写字母           {n,} 至少n次                    [a-z] 表示a~z的任何字符

\\w 代表可用作标识符的字符                {n,m} 出现n~m次

\\. 代表点字符“.

        //判断E-mail地址是否合法
        String regex="\\w{1,}\\@\\w{1,}\\.{1}\\w{1,}";//正则表达,定义邮箱格式
        String str1="abc@.";
        String str2="abc@163.com";
        System.out.println(str1.matches(regex));
        System.out.println(str2.matches(regex));
        //判断字符串是否满足要求(第1位大写字母,2~4小写字母,后3位是数字)
        String regexp="\\p{Upper}\\p{Lower}{3}\\d{3}";
        String str3="Abcd123";
        String str4="abc";
        System.out.println(str3.matches(regexp));
        System.out.println(str4.matches(regexp));
        //判断手机号的合法性
        String regex1="1[3,5,8]\\d{9}";
        String str5="13012341234";
        String str6="130123412345";
        if(str5.matches(regex1)) {
            System.out.println(str5+"是合法手机号");
        }else {
            System.out.println(str5+"不是合法手机号");
        }
        if(str6.matches(regex1)) {
            System.out.println(str6+"是合法手机号");
        }else {
            System.out.println(str6+"不是合法手机号");
        }
        //判断IP地址是否合法(1.0.0.0-255.255.255.255)
        String regex2="(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
                +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
                +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
                +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)";
        String str7="192.168.1.1";
        String str8="0.168.1.1";
        System.out.println(str7.matches(regex2));
        System.out.println(str8.matches(regex2));
import java.util.regex.Pattern;
public class Format {
    public static void main(String[] args) {
        //是否是汉字,计算个数
        //String regex3="[\u4E00-\u9FA5]{0,}";
        String text="pure love 左溢中国 and 夕西行";
        int amount=0;
        for(int i=0;i<text.length();i++) {//遍历字符,判断是否属于汉字编码
            boolean mc=Pattern.matches("[\\u4E00-\\u9FA5]{0,}",""+text.charAt(i));
            if(mc) {
                amount++;
            }
        }
        System.out.println(amount+"个汉字");        
    }
}

 

 

 

 

 

 

posted @ 2017-09-27 21:26  夕西行  阅读(137)  评论(0编辑  收藏  举报