JS 正则表达式语法

正则语法

  • 预定义类

     [^\n\r]                        除了换行和回车之外的任意字符(“”不行)
     \d     [0-9]                   数字字符
     \D     [^0-9]                  非数字字符
     \s     [ \t\n\x0B\f\r]    		空白字符
     \S     [^ \t\n\x0B\f\r]  		非空白字符
     \w     [a-zA-Z_0-9]         	单词字符
     \W     [^a-zA-Z_0-9]     		非单词字符 
    
  • 简单类(正则://中什么特殊符号都不写,和[]的加入)

    /string/.test(“string”);            必须是完整的,只多不能少
    /andy/.test(“andy”)                 // true
    /andy/.test(“andylv”)               // true
    /andy/.test(“an”)                   // false
    
    一句话,只要完整包含了andy 就可以了(有他就行)
    
    /[string]/.test(“string”);                只要包含里面的任何一个就可以
    /[andy]/.test("andy");                    // true
    /[andy]/.test("an");                      // true
    /[andy]/.test("ady");                     // true
    /[andy]/.test("anll");                    // true
    /[andy]/.test("assd");                    // true
    /[andy]/.test("ss");                      // false
    /[3aH8]/.test("ss");                      // false
    
  • 负向类(不能是其中的整体或者一部分)

     中括号内,前面加个元字符^进行取反,不是括号里面的字符(一部分也不行)。
    (可以不够,但是不能多)(不够和正好,返回false;多了或者没有返回true)
     console.log(/[^abc]/.test('a'));       false
     console.log(/[^abc]/.test('gg'));		true
    注意:  这个符号 ^  一定是写到方括号里面
    
  • 范围类

    有时匹配的东西过多,而且类型又相同,全部输入太麻烦,我们可以在中间加了个横线
    console.log(/[a-z]/.test('1111'));
    console.log(/[A-Z]/.test('aa'));
    
  • 组合类

    用中括号匹配不同类型的单个字符。
    console.log(/[a-m1-5]/.test("b"))//true
    
  • 正则边界(重点)

    ^ 会匹配行或者字符串的起始位置
    注:^[]中才表示非!这里表示开始
    $ 会匹配行或字符串的结尾位置
    ^$在一起 表示必须是这个(精确匹配)

    // 边界可以精确说明要什么
    console.log(/lily/.test("lilyname")); // true
    console.log(/^lily$/.test("lily"));  // true
    console.log(/^lily$/.test("ly"));   // false
    console.log(/^andy$/.test("andy"));  // true
     这个的最终意思就是 说, 必须是 andy 这四个字母
    
  • 量词(重点)

    (多个字母,重复最后一个)
    * (贪婪) 重复零次或更多 (>=0)
    + (懒惰) 重复一次或更多次 (>=1)
    ? (占有) 重复零次或一次 (0||1) 要么有 要么没有
    { } 重复多少次的意思 可以有多少个

    您的银行卡密码只能是 6位 {6}
    {n} n次 (x=n)
    {n,} 重复n次或更多 (x>=n)
    {n,m} 重复出现的次数比n多但比m少 (n<=x<=m)
    * {0,}
    + {1,}
    ? {0,1}
    () 提高权限,有限计算

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值