zoukankan      html  css  js  c++  java
  • 正则表达式

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

    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+"个汉字");        
        }
    }

     

     

  • 相关阅读:
    .NET 6.0 —— 网络监视器 (TODO)
    Google adwords api —— report & AWQL
    Linux 镜像更新 为国内镜像源 for debian
    优化代码 —— 二八法则 & 编完代码,再优化
    鳥哥的 Linux 私房菜 ——— 第十八章、 服务的防火墙管理 xinetd, TCP Wrappers(3)
    端口号port 是什么
    aptget的install、update、upgrade的区别(转发)
    Google ads api —— github
    .net 6.00 —— record 类型 (TODO)
    Compiled models —— .NET Core 6.0
  • 原文地址:https://www.cnblogs.com/xixixing/p/7604071.html
Copyright © 2011-2022 走看看