常用正则表达式学习

常用的正则表达式

字符:匹配单个字符

a: 表示匹配字母a

\\ :匹配转义字符"\"

\t:匹配转义字符"\t"

\n:匹配转义字符"\n"。

一组字符:匹配里面单个字符

[abc] :表示可能是字母a 表示可能是字母b 表示可能是字母c

[^ abc] :表示不是字母a ,b ,c中的任意一个。

[a-zA-Z] : 表示全部字母中的任意一个。

[0-9] : 表示全部数字的任意一个。

边界匹配:在以后编写javaScript使用正则使用到

^:表示一组正则的开始

$:表示一组正则的结束

简写表达式:

.: 表示任意的一位字符

\d :表示任意的一位数字,等价于 .[0-9]

\D :表示任意的一位非数字,等价于 .[^0-9]

\w :表示任意的一位数字、字母、、等价于 .[a-zA-Z0-9]

\W :表示任意的一位非数字、字母、_、等价于 .[^a-zA-Z0-9 _]

\s :表示任意的一位空格、例如:“\n” ,“\t”等。

\S :表示任意的一位非空格

数量表示:

正则表达式?:出现0次或1次

正则表达式* :出现0次或1次或多次

正则表达式+:出现1次或多次

正则表达式{n}:出现n次

正则表达式{n,}:出现n次以上

正则表达式{n,m}:出现n-m次

逻辑表达式:

表达式A表达式B:表示表达式A之后紧跟着表达式B

表达式A|表达式B:表示表达式A或者表达式B,二者任选其一、

关于常用的正则表达式的应用。

package com.wu.常用类库2;

import java.text.ParseException;
import java.text.SimpleDateFormat;

public class JavapIdemo {
    public static void main(String[] args) throws ParseException {


        String[] str = {"123","abc"};
        for (int i=0;i<2;i++) {

            //正则表达式\\d+判断是否位数字
            if (str[i].matches("\\d+")) {
                System.out.println("字符串是数字,转变成INT" + Integer.parseInt(str[i]));
            } else {
                System.out.println("我还是字符串,没有一丝丝改变" + str[i]);
            }
        }

        /**
         * 删除非字母和数字
         */
        String str="WUHUA@234124——————&&@@java";
        //非数字,字母都要被替换”“
        String regix="[^a-zA-Z0-9]+";
        System.out.println(str.replaceAll(regix,""));

        //字符串拆分
        String str="cewded214121grt";
        String regix="\\d+";
        String[] split = str.split(regix);
         for (int i=0;i<split.length;i++){
             System.out.println(split[i]+" ");
         }

        /**
         * 判断一个数字是否是小数,并将其转换
         */
        String str="100.1";
         String regix="\\d+(\\.\\d+)?";
         if (str.matches(regix)){
             System.out.println("字符串是小数"+Double.parseDouble(str));

         }else{
             System.out.println("字符串不是小数");
         }

        //判断字符串是否由日期组成,然后转化为date类型
        String str ="1981-03-31 12:31:22";
        String regix="\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}";
        if (str.matches(regix)){
            System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(str));
        }else {
            System.out.println("内容不是日期格式");
        }

        /**
         * 判断号码格式是否正确
         */
        String str="010-1234566";
        String str="0101234567";
        String str="1234567";
        String regix="((\\d{3,4})|(\\(\\d{3,4}\\)-))?\\d{7,8}";
        String regix="(\\d{3,4}?\\d{7,7})";
         String regix="(\\d{7,7})";
        System.out.println(str.matches(regix));

        /**
         * 邮箱格式验证
         * /w表示等价于[a-zA-Z0-9]
         */
        String str="1321312@fcwd.com";
        String regix="[a-zA-Z0-9]\\w+@\\w+\\.(cn|com|com.cn|net|gov)";
        System.out.println(str.matches(regix));


    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值