처음으로 JavaScript의 replacement() 메서드는 str.replace("-","!")를 직접 사용하는 경우 첫 번째로 일치하는 문자만 교체한다는 사실을 발견했습니다.
그리고 str.replace(/-/g,"!")는 일치하는 모든 문자를 바꿀 수 있습니다(g는 전역 플래그입니다).
대체()
replace() 메서드는 첫 번째 인수와 일치하는 텍스트를 바꿀 때 생성되는 문자열을 반환합니다.
(정규 표현식)을 두 번째 인수(문자열)의 텍스트로 바꿉니다.
정규식 선언에 g(전역) 플래그가 설정되지 않은 경우 이 방법은 첫 번째 플래그만 대체합니다.
패턴의 발생 예를 들면 다음과 같습니다.
var s = "안녕하세요. 정규식은 재미있습니다.";s = s.replace(/./, "!") // 첫 번째 마침표를 느낌표로 바꿉니다.alert(s);
"Hello! 정규식은 재미있습니다."라는 문자열을 생성합니다. g 플래그를 포함하면 통역사가 다음을 수행합니다.
일치하는 모든 하위 문자열을 찾아 바꾸는 전역 교체를 수행합니다. 예를 들면 다음과 같습니다.
var s = "안녕하세요. Regexps는 재미있습니다.";s = s.replace(/./g, "!") // 모든 마침표를 느낌표로 바꿉니다.alert(s);
다음과 같은 결과가 나옵니다. "Hello! 정규식은 재미있습니다!"