正则表达式

"本文详细介绍了正则表达式的基本结构和常见用法,包括普通字符、元字符、d、w、s、.|、[]、[a-z]、 um等,并通过实例演示了它们在字符串校验中的作用。正则表达式是编程中用于高效处理字符串的强大工具,适用于账号密码验证、文本处理等多个场景。"
摘要由CSDN通过智能技术生成

正则表达式: Regular Expression 就是通过一行字符串来描述一定的规则,相关的变量名定义为 regexp(单数),regexps(复数)

在生活中,设置密码,账号,等等都有一定的限制,而普通代码实现冗长,使用正则表达式方便简洁

正则表达式的结构组成

1,普通字符:作为一个字符不具有其他含义,例如字母与数字

2,元字符,作为一个字符之外还可以表达其他含义

regex是我们需要写的正则表达式校验规则,input是我们需要检验的字符串(下文简称 "检验值")

一,普通字符:

只有检验值和正则完全一致时才可以

 public static final String regex="popo";
    public static void check(String input){
        boolean result= Pattern.matches(regex,input);
        System.out.println(input+":"+result);
    }

    public static void main(String[] args) {
        check("po");//false
        check("pop");//false
        check("popo");//true

    }

二,\d

java中 \ 为转义字符所以需要写 \\d

例如:aaa\\d  检验值必须以aaa开头,以一个数字结尾

\D 与\d完全相反,表示非数字

public static final String regex="aaa\\d";
 check("aaaa1");//false
        check("aaaa");//false
        check("aaa1");//true
 public static final String regex="\\D\\D\\D";
    public static void main(String[] args) {
        check("aa");//false
        check("aa1");//false
        check("aaa");//true

    }

三,\w 表示一个字母,数字或者下划线

例如:12\w45  检验值以12开头45结尾中间必须是一个字母数字或者下划线

\W 与\w相反

四,\s

表示一个看不见的符号(空格或者制表符)

\S与\s相反

五,  .

. 表示"\n"和"\r"之外的任何单个字符

六,  |

表示检验值满足其中一个即可

七, []

[] 表示匹配其中任意一个字符

[^]表示不与括号里的任意字符匹配

八,[a-z]

表示一个范围例如 a[c-e]z 检验值中间必须是c,d,e其中一个

[^c-e] 是[c-e]的补集

public static final String regex="a[b-d]e";
    public static void main(String[] args) {
        check("ae");//false
        check("abcde");//false
        check("abe");//true

    }

九,\num 

表示匹配第几个括号中的例如 :a(b)c\1 等同于abcb

a(b)(c)d\1\2相当于 abcdbc

public static final String regex="a(b)(c)d\\1\\2";
    public static void main(String[] args) {
        check("abcd");//false
        check("abcdb");//false
        check("abcdbc");//true

    }

十,

例子:abc?de

? :表示c出现0次或者1次

例子:abc+de

+:表示匹配c一次或者多次

例子:abc{n}de

{n}:表示匹配c一共n次

例子:abc{n,m}de

{n,m}表示匹配c最少n次最多m次

例子:abc*de

表示匹配c任意次

 public static final String regex="abc?de";
    public static void main(String[] args) {
        check("ade");//false
        check("abcde");//true
        check("e");//false
        check("de");//flase
        check("abde");//true
        check("bcde");//false

    }

感谢观看!点赞支持!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值