美文网首页
正则知识点

正则知识点

作者: 小碗吃不了 | 来源:发表于2019-10-30 17:53 被阅读0次
  • 匹配方法

    test()  用于测试给定的字符串是否符合条件 true或false
    exec() 用于提取字符串
    例:var re = /^(\d{3})-(\d{3,8})$/;
        re.exec('010-12345'); // ['010-12345', '010', '12345']
        re.exec('010 12345'); // null
        正则表达式中定义了组()
        exec()方法在匹配成功后,会返回一个Array,第一个元素是正则表达式匹配到的整个字符串,
        后面的字符串表示匹配成功的子串。
        exec()方法在匹配失败时返回null
    
  • 基本匹配

    .可以匹配任意字符
    *表示任意个字符(包括0个)
    +表示至少一个字符
    ?表示0个或1个字符
    ^表示行的开头    ^\d表示必须以数字开头
    $表示行的结束    \d$表示必须以数字结束
    {n}表示n个字符
    {n,}表示至少匹配n 次
    {n,m}表示n-m个字符
    []表示范围,更精确地匹配
    ()表示的就是要提取的分组
    
    | A|B可以匹配A或B
    \d可以匹配一个数字
    \w可以匹配一个字母或数字
    \s可以匹配一个空格
    
  • 贪婪匹配

    正则匹配默认是贪婪匹配,也就是匹配尽可能多的字符
    var re = /^(\d+)(0*)$/;
    re.exec('102300'); // ['102300', '102300', '']
    由于\d+采用贪婪匹配,直接把后面的0全部匹配了,结果0*只能匹配空字符串了
    必须让\d+采用非贪婪匹配(也就是尽可能少匹配),才能把后面的0匹配出来,加个?就可以让\d+采用非贪婪匹配
    var re = /^(\d+?)(0*)$/;
    re.exec('102300'); // ['102300', '1023', '00']
    
  • 全局搜索

    g 全局搜素  i表示忽略大小写 m表示执行多行匹配

相关文章

网友评论

      本文标题:正则知识点

      本文链接:https://www.haomeiwen.com/subject/rwiovctx.html