이 기사의 예에서는 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 프로그래밍 설계에 도움이 되기를 바랍니다.