JavaScript使用RegExp进行正则匹配的方法

本文实例讲述了JavaScript使用RegExp进行正则匹配的方法。分享给大家供大家参考。具体实现方法如下:

<script type="text/javascript">
  var matchedTimes = 0;
  //Match one d followed by one or more b's followed by one d
  //Remember matched b's and the following d
  //Ignore case
  myRe  = new RegExp("d(b+)(d)", "ig");
  // 等价于 myReg = /d(b+)(d)/ig;
  myArray = myRe.exec("ecDBDsdbbdz"); // ecdbBdbsdbbdz
  console.log("Regular Expression String: " + myRe.source);
  console.log("Is global? " + myRe.global);
  console.log("Ignore case? " + myRe.ignoreCase);
  console.log("Is mulitiline? " + myRe.multiline);
  console.log("------------------------------------------------");
  logInfo(myArray, myRe);
  myArray = myRe.exec("ecDBDsdbbdz");
  logInfo(myArray, myRe);
  function logInfo(myArray, myRe) {
    matchedTimes++;
    console.log("This is " + matchedTimes + " times match");
    console.log("Original String: " + myArray.input);
    console.log("Match Result Array: [" + myArray + "]");
    console.log("The 0-based index of the match in the string: " + myArray.index);
    console.log("The last matched characters: " + myArray[0]);
    console.log("The parenthesized substring matches [1]: " + myArray[1]);
    console.log("The parenthesized substring matches [2]: " + myArray[2]);
    console.log("The index at which to start the next match: " + myRe.lastIndex);
    console.log("-----------------------------------------------");
  }
  myRe2 = /^\w+(\d*)$/ig
  console.log("myRe2: " + myRe2.source);
  //console.log("myRe2 matches abc1? " + myRe2.test("abc1"));
  // 加上这行跑跑看结果,因为是global匹配,所以lastIndex会改变,
  //所以后面的myRe2.test("abc")当然就是false
  console.log("myRe2 matches abc? " + myRe2.test("abc"));
</script>

希望本文所述对大家的javascript程序设计有所帮助。

相关推荐