正则表达式

正则表达式:---主要用于查寻等操作
    1、很多之后我们都需要对一些字符进行匹配,查找,替换等
    复杂的操作,我们需要通过一些表达式进行这些复杂的操作。
    2、这个表达式就是正则表达式,他是一串有”特殊意义“的字符串
    我们可以称之为规则表达式
常用的字符集:
    []:表示匹配括号内的一个字符
    [abc]表示匹配abc中的任意一个字符
    [a-z]表示匹配a~z中的任意一个字符
    [0-9]表示匹配0~9中的任意一个字符
    [a-z0-9A-Z]表示匹配这些字符中的任意一个
    []:表示匹配除了a字符的任意一个字符

字符集的匹配一般使用的是match()方法,返回值布尔类型

    
预定义字符集:
    .     :表示匹配任意一个字符
    \d    :表示匹配任意一个数字字符,相当于[0-9]
    \w    :表示匹配任意一个单词字符,相当于[a-zA-Z0-9_]
    \s    :表示匹配任意一个空格字符,相当于[\t\r\n\b ]
    \D    :表示匹配任意一个非数字字符,相当于[^0-9]
    \W    :表示匹配任意一个非单词字符,相当于[^a-zA-Z0-9_]
    \S    :表示匹配任意一个非空格字符,相当于[^\t\r\n\b ]
        一些特殊字符需要使用转义字符:“\”


数量词:
    x     :表示字符集
    x?    :匹配x 0个或1个
    x+    :匹配x 一个或一个以上
    x*    :匹配x 0个或0个以上
    x{m}  :匹配x m个
    x{m,} :匹配x m个以上,包括m个
    x{m,n}:匹配x m到n个


分组:
    ()将正则表达式的部分规则进行了划分,可以使用|来进行选择其中一组规则
    reg:是手机号前带有区号
        +86 13844220539
        0086 13844220539
    正则表达式:
        (+86|0086)?\\s?1\\d{10}
    判断一个字符串是不是一个网址


^和$(无法验证)
    有时,我们想校验一个字符串是不是从头到尾都符合一个规则校验
    此时需要在正则表达式前后添加相应的符号:
    ^:添加在正则表达式前,表示要校验的普通字符串的开头就必须符合规则
    $:添加在正则表达式末尾,表示要校验的普通字符串的末尾必须符合规则
    前后都有此符号时,考虑的是普通字符串的整体
    reg:
        "^.[6,8]"
        "123456AAAAAAAAAA"可以满足上述正则表达式
        "[\\d]{6,8}$"
        "abc123456"可以满足上述正则表达式
        "^[\\d]{6,8}$"
        "12345678abc12345678"不符合
    matches(String regex):此方法验证不了我们自定义时添加的^或$
    因为当把正则表达式传入方法内时,内部逻辑帮助添加了^和$
总结:正则表达式是一个灵活,逻辑性强的规则校验语法
    通常用于文本中,定义正则表达式的时候,要注意表达式在匹配

    时是从左到右匹配的,所以定义正则表达式时,要处理好顺序,其次

    正则表达式逻辑比较强,需要考虑多种情况测处理

    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值