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);

  • 相关阅读:
    【还是畅通工程 HDU
    【畅通工程 HDU
    【hdu 2544最短路】【Dijkstra算法模板题】
    【Isabella Message】 【SPOJ
    【统计难题】【HDU
    【I'm Telling the Truth】【HDU
    Arranging Your Team HDU
    JavaScript和jQuery改变标签内容
    JavaScript获取地址栏内容
    JavaScript遍历IP段内所有IP
  • 原文地址:https://www.cnblogs.com/huxiaoyang/p/12723871.html
Copyright © 2011-2022 走看看