zoukankan      html  css  js  c++  java
  • 正则相关的知识分享

    正则:

    概念:描述或匹配一系列符合某种规则的字符串

    作用:数据验证 内容检索 内容替换 内容过滤

    //创建正则对象 
    //通过实例化对象 
    letreg=newRegExp("正则表达式"+变量,"模式修正符") 
    模式修正符:g:global全局(下一次执行从上一次之后位置) i:不区分大小写m:可以换行 
    //通过字面量的方式 
    letreg=/ 正则表达式 /模式修正符 
    /为定界符正则对象的常用方法:

    reg.test(str) 检测正则对象是否能够匹配str 返回true false

    reg.exec(str) 检测正则对象是否能够匹配str 如果能匹配返回一个拥有特殊属性的数组,如果不能匹配返回null

    正则表达式:

    使用场景:1.正则对象       2.str.split(正则对象)       3.str.replace(正则对象,被替换的内容)      4.str.search(正则对象)

    原子:正则表达式中最小的内容 

    d 0-9  

    w 数字字母下划线  

    s 空白, , ,

    D 除了0-9以外的字符

    W 除了数字字母下划线以外的字符

    S 除了空白, , ,

    原子表:[ ]

    letreg=/[a-z]/g匹配小写字母 
    letreg=/[a-zA-Z]/g匹配所有字母

    元字符:

    . 所有的字符

    | 或

    原子组:()        原子组的内容会默认存储在内存中,在后面如果一模一样可以1调用

    letreg=/(山|陕)西/g 
    letreg=/<div>box</div>/===letreg=/<(div)>box</1>/    // 为转译字符 
    (?:xxx)不将xxx存储到内存中,并且不可调用

    正则中的数量:

    *:0个或多个 

    letreg=/d*/g

    +:1个或多个

    ?:0个或1个

    {11}:11个        {15,18}:15到18个     {6,}六个或六个以上个

    贪婪吝啬: *? 加问号将尽可能取多变成尽可能少取 

    边界判断:

    ^开始 $结束 

    letreg=/^d{7}$/

     单词边界

    B 非单词边界

    模式修正符:

    g全局

    i不区分大小写

    m换行,多行

    举例:

    //正则汉字字母数字下划线返回bool

    function isNotEmpty(str) {

    var regex =newRegExp("^([u4E00-uFA29]|[uE7C7-uE7F3]|[a-zA-Z]|[0-9]|[_]){1,10}$");

    return regex.test(str);

    }

    学而不用则罔 用而不学则殆
  • 相关阅读:
    CKA考试题:[统计ready的node个数,不包含有污点的和没有调度的]
    期货-基差
    期货-套期保值
    CKA考试题:[init container]
    select 与 time.After 配合使用的问题
    kubernetes 学习资料
    [rook] rook的控制流
    k8s dev
    elastic search query & filter & query_string
    如何保持github的fork于主干同步
  • 原文地址:https://www.cnblogs.com/songyifan427/p/9952901.html
Copyright © 2011-2022 走看看