本文實例講述了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程序設計有所幫助。