자바스크립트 정규 표현식(RegExp)에서 p* 수량자(Quantifier)를 사용하면, 문자 'p'를 0번 이상 포함하는 모든 문자열과 매칭할 수 있습니다.
수량자(Quantifier)란?
수량자는 앞에 위치한 문자나 그룹이 몇 번 반복되어야 하는지를 지정하는 특수 기호입니다. 별표(*)는 해당 문자가 0번 이상, 즉 없어도 되고 여러 번 반복되어도 된다는 의미입니다. 따라서 /p*/ 패턴은 'p'가 하나도 없는 문자열부터 'pppp'처럼 연속으로 반복되는 문자열까지 모두 일치시킬 수 있습니다.
예제
아래 코드를 실행하면 0개 이상의 'e' 앞에 오는 패턴을 전역(g) 플래그로 검색하여 결과를 확인할 수 있습니다. 여기서 *는 해당 문자의 등장 횟수를 의미합니다.
<html> <head> <title>JavaScript Regular Expression</title> </head> <body> <script> var myStr = "Welcome! Wweeeelcome to our website!"; var reg = /el*/g; var match = myStr.match(reg); document.write(match); </script> </body> </html>
실행 결과 해설
위 예제에서 /el*/g 패턴은 문자 'e' 뒤에 'l'이 0번 이상 등장하는 부분을 찾습니다. 따라서 "Welcome"에서는 e, elc와 같은 형태로 매칭되며, "Wweeeelcome"에서는 연속된 'e'들과 조합된 다양한 결과가 반환됩니다.
핵심 정리
- *: 바로 앞의 문자가 0번 이상 반복됨을 의미합니다.
- +: 바로 앞의 문자가 1번 이상 반복되어야 합니다.
- ? : 바로 앞의 문자가 0번 또는 1번만 등장할 수 있습니다.
이처럼 수량자를 적절히 활용하면 반복 패턴이 포함된 문자열을 유연하게 검색하고 처리할 수 있습니다.