正则表达式

正则表达式的语法
    想要灵活运用正则表达式,必须了解其中各种元字符的功能,
        从字符功能上分为:六大类
    1.限定字符
    2.选择匹配符
    3.分组组合和反向引用符
    4.特殊字符
    5.字符通配符
    6.定位符
    
    元字符——>Metcharacter(转义符\\)
    !!!在Java的正则表达式中,两个\\代表其他语言中的\
    一下的符号需要用到转义字符:
        . * + ( ) $ / \ ? [ ] ^ { }
        
    字符匹配夫
        符号        符号含义                 示例            解释                                                        匹配项
        []        可接收的字符列表            [sfg]            表示匹配s,f,g的其中任意一个                                    a , f
        [^]        不接收的字符列表            [^abc]            表示除了a,b,c以外的任意字符                                    h, h
        -        连字符                        A-Z             表示任意大写字母                                            DSJHSUHS
        .        匹配除\n以外的任意字符         a..b            表示以a开头,b结尾,中间包含两个任意字符                    ajgb
        \\d        匹配单个数字字符            \\d{3}(\\d)?    表示包含3个或4个数字字符串                                    2134 ,453
        \\D        匹配单个非数字字符            \\D(\\d)*        表示以单个字符开头,后接任意数字字符串                        s232
        \\w      匹配单个数字,大小写字母字符  \\d{3}\\w{4}    表示以3个数字字符开头的长度为7的数字母字符串                342fvr4
        \\W    匹配单个非数字,大小写字母字符    \\W+\\d{2}        至少一个非字母数字字符开头,两个数字字母字符结尾的字符串    @67 , @#56
        
    java正则表达式默认区分大小写,实现不去分大小写:
        (?i)abc 表示abc都不区分大小写
        a((?i)b)c 表示只有b不去分大小写
        ab(?i)c 表示c不去分大小写
        或者在创建Pattern是指定参数CASE_INSENSITIVE (不敏感)
        Pattern pattern  = Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);//不区分大小写
    
    [A-Z]表示匹配A-Z中的任意一个字符
    [0-9] 同上
    
    
    \\w 匹配数字,字母,下划线
    \\s 匹配任意的空白字符(空格,制表符 )
    \\S  同上取反
    
    选择匹配符:
    符号        符号含义                 示例            解释    
     |        匹配“|”之前或之后的表达式    ab|cd             ab或者cd        
    
    
    限定字符:
    符号        符号含义                 示例            解释    
     *            指定字符出现0次或n次    (abc)*            abc=\w*
     +            指定字符出现1次或n次    m+(abc)*        至少以一个m开头,后后接n个a或bc
     ?            指定字符出现0次或1次    m+abc?            至少一个m开头,接ab,一个或0个c
     {n}        只能匹配到n个字符        [abcd]{3}        匹配abcd任意三个
     {n,}        指定至少出现n次            [sdf]{3,}        匹配ads任意至少三个
     !!!!Java默认贪婪匹配(尽量匹配更多的)
     {n,m}        指定至少n次,不多于m    [hf]{3,5}        匹配hf至少3个不超过5个
     
   元字符- 定位符:
    符号        符号含义                 示例            解释    
    ^            指定起始字符            ^[0-9]+[a-z]*    至少以一个数字开头,后接任意小写字母字符串
    $            指定结束字符            ^[0-9]\\-[a-z]+$至少以一个数字开头后连接字符"-",并以至少1个小写字母结尾
    \\b            匹配目标字符串的边界    han\\b          
    \B            同上相反

正则表达式常用的类

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扶不起来的小白菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值