Javascript_引用类型_RegExp

  • Exercise1:

      <script>
          //正则表达式的声明1
          //格式:/正则/模式修正符
          var pattern1 = /s$/i;
          console.log(pattern1 instanceof RegExp);
    
          //正则表达式的声明2
          //格式:new RegExp('正则','模式修正符');
          var pattern2 = new RegExp('s$','i');
          console.log(pattern2 instanceof RegExp);
    
      </script>
    
  • Exercise2:

      <script>
          var pattern = /s$/i;
    
          //是否设置了g标志
          console.log(pattern.global);
          //是否设置了i标志
          console.log(pattern.ignoreCase);
          //是否设置了m标志
          console.log(pattern.multiline);
      </script>
    
  • Exercise3:

      <script>
          var pattern = /sb/i;
          //返回一个数组,其中存放匹配的结果,如果没有找到返回null
          //数组的0是正则匹配到的文本,第一个元素是正则第一个子表达式匹配的结果和PHP中preg_match_all()一样
          var result = pattern.exec('sbysb');
          console.log(result);
    
          //index属性表示匹配项在字符串中的位置
          console.log(result.index);
    
          //input属性表示应用正则表达式的字符串
          console.log(result.input);
    
      </script>
    
  • Exercise4:

      <script>
          var pattern = /sb/g;
          //对于exec()而言,即使在模式中设置了全局标志(g)
          //每次只会返回一个匹配项
          //不设置全局标志的情况下,在同一个字符串上多次调用exec()将始终返回第一个匹配项的信息
          var result = pattern.exec('sbysb');
          console.log(result);
          console.log(result.index);
    
          //设置全局标志的情况下,在同一个字符串上多次调用exec()将会在字符串中继续查找新匹配项
          result = pattern.exec('sbysb');
          console.log(result);
          console.log(result.index);
    
    </script>
  • Exercise5:

      <script>
          var pattern = /sb/g;
          //test(),接受一个字符串参数,在能够匹配的情况下返回true返回false
          var result = pattern.test('sbysb');
          console.log(result);
      </script>
    
  • Exercise6:

      <script>
          var text = 'this has been as short summer';
          var pattern = /(.)hort/g;
    
          pattern.test(text);
    
          //input,最近一次要匹配出来的字符串
          console.log(RegExp.input);
    
          //lastMatch,最近一次的匹配项
          console.log(RegExp.lastMatch);
    
          //leftContext,input字符串中lastMatch之前的文本
          console.log(RegExp.leftContext);
    
          //rightContext,input字符串中lastMatch之后的文本
          console.log(RegExp.rightContext);
    
          //lastParen,最近一次匹配的捕获组
          console.log(RegExp.lastParen);
      </script>