• 正则表达式


      正则表达式是一个描述字符模式的对象。

    一、正则表达式的语法

      一个正则表达式就是由普通字符(如字符a~z)以及特殊字符(称为元字符)组成的模式字符串,用于描述在查找文字主体时待匹配的一个或多个字符串。

      1、字符类

      指用于匹配的字符的组合。

                                正则表达式的字符类

    字符类

    说明

    示例

    [···]

    匹配方括号中字符序列中的任意一个字符。其中,可以使用连字符“-”匹配指定范围内的任意字符

    /[012]/可以与0A1B2C中的字符0、1或2匹配

    /[0-5]/可以与a0e1w2g3h4k5中的0~5之间的任意数字字符匹配

    [^···]

    匹配方括号内字符序列中未包含的任意字符。其中,可以使用连字符“-”匹配不再指定范围内的任意字符

    /[012]/可以与0A1B2C中除0、1或2三个字符之外的任意字符匹配,这里可以与字符A、B或C匹配

    /[^a-z]/可以与aB123hwZ中不在a~z之间的任意字符匹配

    .

    除了换行和回车之外的任意字符,相当于[^ ]

     

    d

    匹配任意一个数字字符,相当于[0-9]

    /d/可以与w7gh中的字符7匹配

    D

    匹配非数字字符,相当于[^0-9]

    /D/可以与w7gh中的字符w、g或h匹配

    s

    匹配任意空白字符,如空格、制表符、换行符等等,相当于[ x0Bf ]

    /sd/可以与my book 71th中的7匹配

    S

    匹配任何非空白字符,相当于[^ x0Bf ]

    /S/可以与AB中的A或B匹配

    w

    匹配任何英文字母、数字以及下划线,相当于[a-zA-Z0-9]

    /w/可以与w4F_71-+中的字母、数字和下划线匹配

      注意:使用[^···]时,如果字符"^"不是出现在第一个"["的后面,则仍表示字符"^"字符的原义。

      2、量词

      在正则表达式中,使用量词可以控制字符或字符串出现的次数。

                                 正则表达式的量词

    量词

    说明

    示例

    匹配前一项0次或1次

    /JS?/可以匹配JScript中的JS或者JavaScript中的J
    +

    匹配前一项一次或多次,但至少出现一次

    /JS+/可以匹配包含JS或者JSSSS的字符串,即可以与在字母J后面连续出现一个或多个字母S的字符串相匹配
    *

    匹配前一项0次或多次(任意次)

    /bo*/可以匹配包含b、bo或者booo的字符串
    {n}

    匹配前一项恰好n次,其中n为非负整数

    /0{2}/可以与book中的两个o相匹配,可以与booook中的任意两个连续的o相匹配
    {n,}

    匹配前一项至少n次

    /0{2,}/不可以与home中的o匹配,但可以与good或者goooood中的所有o相匹配
    {n,m}

    匹配前一项至少n次,但不能超过m次,其中n和m是非负整数,并且n<=m

    /o{2,5}/可以与book中的两个o、与booooooook中5个连续的o匹配

      3、指定匹配的位置

                                  指定匹配位置的方式

    字符

    说明

    示例
    ^

    匹配字符串的行开头。字符”^"必须出现在指定字符串的最前面才起作用

    /^g/与good中的字符g匹配,但与bag中的字符g不匹配
    $

    匹配字符串的行结尾。字符"$"必须出现在指定字符串的最后面才起作用

    /g$/与bag中的字符g匹配,但与good中的字符g不匹配
    

    匹配单词的边界

    /e/与I love seek中的love中的e相匹配,但与seek中的e不匹配
    B

    匹配非单词的边界

    /eB/与I love seek中的seek中的e相匹配,但与love中的e不匹配

      4、选择匹配符

      正则表达式的选择匹配符只有一个,即“|”院子符。使用选择匹配符可以匹配所指定的两个选项中任意一项。例如:/World|Dream/可以与“One World,One Dream"中的World或者Dream匹配

      5、分组

      

  • 相关阅读:
    mysql命令行备份数据库
    js关闭当前页面的几种方式
    Linux添加FTP用户并设置权限
    在Activity的Title中加入进度条
    android例子程序(ApiDemo)的简单分类整理
    使用WindowManager窗口管理员,把View显示在屏幕中间
    android手动调用振动器(Vibrator)
    android 监听SDCard安装和卸载的代码片段(测试通过)
    android Paint和Color类介绍 使用示例
    GC_EXTERNAL_ALLOC freed 与 GC_EXPLICIT freed 是什么?
  • 原文地址:https://www.cnblogs.com/a591378955/p/8099636.html
Copyright © 2020-2023  润新知