JavaScript 정규 표현식(RegExp)을 사용해 문자열에서 단어가 아닌 문자(non-word character), 즉 영문자(a-z, A-Z), 숫자(0-9), 밑줄(_)을 제외한 모든 문자를 찾으려면 다음 메타 문자를 사용하면 됩니다.
\W
\W는 [^A-Za-z0-9_]와 동일한 의미를 가지며, 공백, 특수문자, 기호처럼 단어를 구성하지 않는 모든 문자와 일치합니다.
예제
다음 코드를 실행하면 문자열에서 단어가 아닌 문자를 손쉽게 찾을 수 있습니다.
<html>
<head>
<title>JavaScript Regular Expression</title>
</head>
<body>
<script>
var myStr = "100% Responsive!";
var reg = /\W/g;
var match = myStr.match(reg);
document.write(match);
</script>
</body>
</html>
위 예제에서는 /\W/g 패턴을 사용했습니다. 마지막의 g(global) 플래그는 문자열 전체에서 일치하는 모든 문자를 찾도록 지정하는 역할을 합니다.
실행 결과로 "%", " ", "!"가 반환되는데, 이는 문자열 "100% Responsive!"에서 단어 문자에 해당하지 않는 문자들입니다. 이처럼 \W를 활용하면 입력값 검증이나 문자열 정제 작업에서 특수문자나 공백을 쉽게 걸러낼 수 있습니다.