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


    未完待续~~~

  • 相关阅读:
    UVA 11925 Generating Permutations 生成排列 (序列)
    UVA 1611 Crane 起重机 (子问题)
    UVA 11572 Unique snowflakes (滑窗)
    UVA 177 PaperFolding 折纸痕 (分形,递归)
    UVA 11491 Erasing and Winning 奖品的价值 (贪心)
    UVA1610 PartyGame 聚会游戏(细节题)
    UVA 1149 Bin Packing 装箱(贪心)
    topcpder SRM 664 div2 A,B,C BearCheats , BearPlays equalPiles , BearSorts (映射)
    UVA 1442 Cave 洞穴 (贪心+扫描)
    UVA 1609 Foul Play 不公平竞赛 (构(luan)造(gao)+递归)
  • 原文地址:https://www.cnblogs.com/yaoyaoling/p/9367957.html
Copyright © 2011-2022 走看看