zoukankan      html  css  js  c++  java
  • 正则的用处和语法

    正则:就是处理字符串的一个规则

    用处:

      1.匹配:字符串是否匹配规则,返回值是布尔值(test)

      2.捕获:捕获字符串中符合规则的部分,返回值是null或数组(exec)

    组成:元字符和修饰符

    正则的构建:字面量(/d/)和实例创建(new RegExp("\d")),两者有区别,区别另说,常用字面量方式

    元字符://之间的具有意义的字符,分为两组

    1.具有特殊意义的元字符

    • - 转义字符
    • ^ - 以某个元字符开头,不占位置
    • $ - 以某个元字符结尾,不占位置
    • . - 除了 意外的任意一个字符
    • - 换行符
    • () - 分组,把一个大正则本身划分成几个小的正则
    • x|y - x或者y中的一个
    • [xyz] - xyz中的任意一个
    • [^xyz] - 除了xyz以外的任意字符
    • [a-zA-Z0-8] - a-z,A-Z,0-8中的任意一个字符
    • d - 0-9的任意一个字符
    • D - 除0-9以外的任意字符
    •  - 匹配边界符
    • w - 字母,数字,下划线的任意一个字符,等同于[0-9a-zA-Z_]
    • s - 表示空白字符,空格,制表符,换页符的任意一个

    2.代表出现次数量词的元字符

    • * - 大于等于0次
    • + - 大于等于1次
    • ? -  0或1次
    • {n} - n次
    • {n,} - 大于等于n次
    • {n,m} - 大于等于n且小于等于m次

    3.修饰符

    img

    ignoreCase:忽略大小写

    multiLine:多行也可以匹配

    global:全字符串范围内

    如/d/g.exec("abcd"),不加g只会找一次,加了g会把符合条件的都找出来

    个人觉得要注意的地方:

    1.中括号里的基本所有的字符都表示自身的意思,特殊的是 ^和-,

    ^后面有内容的时候表示非,否则表示其自己

    -前后有内容的时候表示范围,否则表示其自己

    2. abcd|efgh,首先|不能加空格,不然会匹配空格,然后,|左右两边可以看成一个整体,出现某一侧即可,也就是上面的匹配 abcd 或 efgh ,而不是|临近的de,还有个常遇到的/^66|77$/,还是一分两半,要不以66开头,要不77结尾

  • 相关阅读:
    ios 应用剖析
    nyist 737 相邻石子合并问题
    砝码称重 2
    HDU4614【线段树。】
    Spark安装
    广度优先搜索
    MongoDB 操作手冊CRUD 更新 update
    HiWorkV1.3版震撼公布,今日起正式公开測试!
    织梦调用父级栏目链接和名称
    使用Blender批量导出/转换模型
  • 原文地址:https://www.cnblogs.com/2han/p/6365601.html
Copyright © 2011-2022 走看看