关于正则表达式的小知识

  • What

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个字符串是否含有某种子串、将匹配的子串替换或者从某个字符串中取出符合某个条件的子串等。

  • Example

    ?:最多1个 +:最少1个 *:任意个

    hello?world可以匹配 helloworld/hellworld但不能匹配hellooworld

    hello+world可以匹配hellooworld/helloworld但不能匹配hellworld

    hello*world可以匹配hellooworld/helloworld/hellworld

  • Syntax

    • 常用字符

      \w:匹配一个字母、数字、下划线,等价于 [A-Za-z0-9_]
      \d:匹配一个数字,等价于[0-9]
      .:匹配除换行符 \n 之外的任何单字符
      \:将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符
      \s:匹配任何空白字符,包括空格、制表符、换页符等,等价于[\f\n\r\t\v]
      \S:匹配任何非空白字符,[^\f\n\r\t\v]
      |:指明两项之间的一个选择
      ():标记一个子表达式的开始和结束位置
      []:字符范围集合
      
    • 特殊字符

      • 限定符

        *:匹配前面的子表达式零次或多次
        +:匹配前面的子表达式一次或多次
        ?:匹配前面的子表达式零次或一次,或指明一个非贪婪限定符

        {n}:匹配确定的 n 次

        {n,}:至少匹配n 次

        {n,m}:最少匹配 n 次且最多匹配 m 次

      • 定位符

        ^:匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合

        $:匹配输入字符串结尾的位置

        \b:匹配一个单词边界,即字与空格间的位置

        \B:非单词边界匹配

      参考资料:

      • https://www.runoob.com/regexp/regexp-syntax.html

      • https://www.liaoxuefeng.com/wiki/1016959663602400/1017639890281664

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值