正则表达式2

  • 转义符
    • /^http:///
  • 多选分支
    • /thi(c|n)k/ === /thi[cn]k
    • /.(png|jpg|jpeg|gif)$/
      /.(png|jpg|jpeg|gif)$/.test("abc.jpg") // => true
  • 捕获
    • 保存匹配到的字符串,日后再用
    • ():捕获
    • (?:) :不捕获
    • 使用:
      • $1, $2, ...
      • api参数或返回值
        var url = "http://blog.163.com/album?id=1#comment";
        var reg = /(https?:)//([/]+)(/[?])?(?[^#])?(#.*)?/;
        var arr = url.match(reg);
        var protocol = arr[1];
        var host = arr[2];
        var pathname = arr[3];
        var search = arr[4];
        var hash = arr[5];
  • str.replace( regexp/substr, replacement )
    • 替换一个子串
      var str = "The price of tomato is 5.";
      str.replace(/(\d+)/, "$1.00"); // => The price of tomato is 5.00.

      var str = "The price of tomato is 5, the price of apple is 10."
      str.replace(/(\d+)/g, "$1.00");  // => The price of tomato is 5.00, the price of apple is 10.00.
      
      var html = "<label>网址:</label><input placeholder="以http://起始">";
      html = html.replace(/[<>]/g, function (m0) {
        switch(m0) {
          case "<":
            return "&lt;";
          case ">":
            return "&gt;";
        }
      });
      
  • regexpObj.exec( str )
    • 更强大的检索
      更详尽的结果:index
      过程的状态:lastIndex
      var reg = /(.)(\d+)/g;
      var scores = "Tom $88, Nicholas ¥100, jack £38";
      var result;
      while(result = reg.exec(scores)){
      console.log(result);
      console.log(reg.lastIndex);
      }
      /*
      [ '$88', '$', '88', index: 4, input: 'Tom $88, Nicholas ¥100, jack £38' ]
      7
      [ '¥100', '¥', '100', index: 18, input: 'Tom $88, Nicholas ¥100, jack £38' ]
      22
      [ '£38', '£', '38', index: 29, input: 'Tom $88, Nicholas ¥100, jack £38' ]
      32
      */

推荐阅读更多精彩内容

  • 在前一节中了解了 test 方法和 exec 方法。这一节认识一下字符串的 str 方法。 使用字符串的正则表达式...
    程咸菜阅读 176评论 0 0
  • 在JavaScript正则表达式(1)中,我们学习了如何声明一个正则对象以及正则里常用的一些元字符,正则对象的方法...
    moonburn阅读 554评论 0 1
  • 匹配邮箱 在《正则表达式1-字符串匹配种》,我们知道如何去匹配名称了,现在来看看一个更复杂的例子,邮箱吧。 我们看...
    转角遇见一直熊阅读 180评论 0 0
  • 上一篇写了正则表达式的基础内容(正则表达式基础),还有一些更有意思的在这里补充一下,姑且当作进阶篇。 捕获分组与反...
    0x70e8阅读 137评论 0 1
  • python自带re模块提供了对正则表达式的支持 re模块主要用到的方法列举如下:
    SateZheng阅读 94评论 0 0
  • 这个世上盗版人生太多了,即使微不足道即使平凡渺小,依然想做一个原创的自己。一个人这一生有多少时间是为自己而活,儿时...
    般若波罗蜜多多阅读 75评论 0 0
  • Day10 20-6-2017 给黄总,感谢你今天在会上说诚实话,勇敢劝林总对新项目的谨慎,并建议项目推迟启动。你...
    JennyMo阅读 55评论 0 0
  • 昨天看到浵浵的妈妈写的文章,激动的睡不着觉,好像是给我这几年平庸无光的生活一下子开了灯,照亮了我的心,让我又看到自...
    自律更自律阅读 192评论 0 1