zoukankan      html  css  js  c++  java
  • 正则表达式笔记

    正则表达式笔记

      

    1.test()//校验

    正则表达式的两种方式:

    方式一:通过/  ***  /赋值
    var filter=/^[a-zA-Z0-9_]+$/;

    方式二:通过new
    var filter1=new RegExp('^[a-zA-Z0-9_]+$');

    var value="cat123";
    if(filter.test(value)){
        console.log("yes");//输出yes
    }
    if(filter1.test(value)){
        console.log("yes");//输出yes
    }



    2.相关通配符


    var filter=/hi/;
    hi匹配包含"hi"的字符串
    --------------------------------------------------------------------------------------------
    var filter=/d/;
    d匹配一个数字的字符串
    --------------------------------------------------------------------------------------------
    var filter=/D/;
    D匹配一个非数字的字符串
    --------------------------------------------------------------------------------------------
    var filter=/w/;
    w匹配字母、数字、下划线的字符串
    --------------------------------------------------------------------------------------------
    var filter=/W/;
    w匹配除字母、数字、下划线外的字符串
    --------------------------------------------------------------------------------------------
    var filter=/^/;
    ^匹配代表字符串的开头
    如:^hi   匹配所有hi开头的字符串
    --------------------------------------------------------------------------------------------
    var filter=/$/;
    $匹配代表字符串的结尾
    如:
    hi$   匹配所有hi结尾的字符串
    ^hi$  只能匹配hi
    --------------------------------------------------------------------------------------------

    var filter=/[]/;

    []匹配指定一堆字符中的一个

    如:
    ^[a-z]hi$   匹配所有hi结尾的且以某个小写字母开头的字符串
    ^[A-Za-z]hi$   匹配所有hi结尾的且以某个小写或大写字母的开头字符串
    ^[aeiou]hi$   匹配所有hi结尾的且且以a、e、i、o、u其中一个字母开头的字符串
    --------------------------------------------------------------------------------------------

    var filter=/[^]/;

    [^]不匹配方括号这个集合中的任何一个字符

    如:^[^xyz]at$  不能匹配的字符串xat yat zat
    --------------------------------------------------------------------------------------------


    重复符号 +

    + 表示前一模式可以被重复一次或多次

    如:
    ^go+gle$   可以匹配举例:gogle google goooooogle

    ^g[aeiou]+gle$  [aeiou]这属于一个模式,可以匹配举例:gagle gegle geagle geaeeaioueagle
    --------------------------------------------------------------------------------------------


    重复符号 *

    * 表示前一模式可以被重复0次或多次

    如:
    ^go+gle$   可以匹配举例:ggle google goooooogle
    --------------------------------------------------------------------------------------------


    ? 表示前一模式可以匹配0次或1次
    如:^go?gle$   可以匹配举例:ggle gogle
    -------------------------

    重复符号{x}

    {x}表示前一模式可以重复x次

    如:^go{2}gle$   只可以匹配: google
    ----------------------------------------------------------------------------------------------


    重复符号{x,y}

    {x,y}表示前一模式可以重复x次到y次

    如:^go{2,3}gle$   只可以匹配: google gooogle
    ----------------------------------------------------------------------------------------------


    重复符号{x,}

    {x,}表示前一模式至少重复x次

    如:^go{2,}gle$   可以匹配: google gooogle
    ----------------------------------------------------------------------------------------------


    子表达式()
    ()可以指定一堆字符来匹配一个模式

    如:^(very)*big$  可以匹配举例:big  veryverybig verybig  veryveryverybig

    ------------------------------------------------------------------------------------------------

    分支 |

    用来指定几个规则只要匹配一个规则即将成匹配


    如:^com$|^org$|^net$  只能匹配的 com  org  net
    ---------------------------------------------------------------------------------------------------



    转义符号

    如果要匹配一些含有特殊含义的字符时,可以使用转义符号

    如:^1*(2+3)=6$   只能匹配1*(2+3)=6


    未完待续~~~

  • 相关阅读:
    [2019 CSP-S赛前集训] [CF1037D] Valid BFS?
    [2019 CSP-S赛前集训] [洛谷P1613] 跑路
    [2019 CSP-S赛前集训] [洛谷P1967] 货车运输
    [洛谷博客] 我的洛谷博客内容搬运
    终于开通了博客
    Qt Creator 添加arm版本的qmake时的问题
    U盘挂载问题
    段错误解决办法
    printf %m
    使用pthread_create()创建线程
  • 原文地址:https://www.cnblogs.com/yaoyaoling/p/9367957.html
Copyright © 2011-2022 走看看