java学习笔记(8) ---正则表达式

1、正则表达式的作用:是一些特殊字符组成的校验规则,可以校验信息的正确性,校验邮箱是否合法电话号码,金额等。

2、API使用手册中搜索“pattern”就可以看到正则表达式的规则。

3、常用的正则表达式

单个字符[a,b,c]        a,b或c         
[^abc]任何字符,除了a,b,c
[a-zA-Z]a到z或A到Z,两头的字母包括在内
[a-d[m-p]]a到d或m到p(注意要表达的意思是并集的概念)
[a-z&&[def]]a到z与def的交集
.任何字符
\d数字:[0-9]
\D非数字:[^0-9]
\s空白字符:[\t\n\x0B\f\r]
\S非空白字符:[^\s]
\w单词字符:[a-zA-Z_0-9]
\W非单词字符:[^\w]
数量词X?X,一次或一次也没有
X*X,零次或多次
X+X,一次或多次
X{n}X,恰好n次
X{n,}X至少n次
X{n,m}X至少n次,但是不超过m次

例:正则表达式用于检查

import java.util.Scanner;

public class _202174Demo {
    public static void main(String[] args) {
        System.out.println("请您输入电话号码:");
        while (true) {
            Scanner scanner = new Scanner(System.in);
            String s = scanner.nextLine();
            if (s.matches("\\d{3}-?\\d{5,}")) {
                System.out.println("您输入的号码合法");
                break;
            }
            else {
                System.out.println(s);
                System.err.println("请您重新输入:");
            }
        }
    }
}

例:正则表达式应用于方法

public String[] split(String regex):
            -- 按照正则表达式匹配的内容进行分割字符串,反回一个字符串数组。
public String replaceAll(String regex,String newStr)
            -- 按照正则表达式匹配的内容进行替换

        String names = "许许许,vvv,aaa,eee,嵩嵩嵩";
        String[] namesArrs = names.split(",");
        for (String namesArr : namesArrs) {
            System.out.println(namesArr);
        }
        System.out.println("------------------------");
        String name1 = "许许许1243vvv1234aaa654eee1234567嵩嵩嵩";
        for (String i : name1.split("\\d+")) {
            System.out.println(i);
        }
        // 使用正则表达式定位出内容,替换成-
        System.out.println(name1.replaceAll("\\d+","-"));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值