JavaScript 정규 표현식에서 숫자가 아닌(non-digit) 문자를 찾으려면 메타 문자 \D를 사용하면 됩니다. \D는 0부터 9까지의 숫자를 제외한 모든 문자와 일치하며, 숫자에 해당하는 \d의 반대 개념입니다. 즉, [^0-9]와 동일한 의미를 가집니다.
주요 특징
\D: 숫자가 아닌 단일 문자 하나와 일치합니다./g플래그를 함께 사용하면 문자열 전체에서 일치하는 모든 문자를 배열로 반환합니다.- 공백, 특수문자, 영문자 등 숫자 외의 모든 문자가 검색 대상이 됩니다.
예제
아래 코드를 실행하면 문자열 "100% Responsive!"에서 숫자가 아닌 문자들을 모두 찾아 화면에 출력할 수 있습니다.
<html>
<head>
<title>JavaScript Regular Expression</title>
</head>
<body>
<script>
var myStr = "100% Responsive!";
var reg = /\D/g;
var match = myStr.match(reg);
document.write(match);
</script>
</body>
</html>
실행 결과
match() 메서드는 /g 플래그에 따라 일치하는 모든 문자를 배열로 반환하므로, 위 예제의 결과는 다음과 같습니다.
["%", " ", "R", "e", "s", "p", "o", "n", "s", "i", "v", "e", "!"]
숫자 "1", "0", "0"은 제외되고, 백분율 기호(%), 공백, 그리고 "Responsive!"의 각 문자들이 순서대로 추출된 것을 확인할 수 있습니다.