문자열 패턴을 검사하고 검색·치환합니다.
정규 표현식은 문자 규칙을 /pattern/flags 형태로 표현합니다. test는 일치 여부, match는 일치 정보, replace는 치환 결과를 반환합니다. 복잡한 형식을 정규식 하나로 완벽히 검증하려 하지 말고 목적에 맞는 제한된 패턴을 사용합니다.
pattern은 소문자·숫자 덩어리를 하이픈으로 이은 slug 형식만 허용해 javascript-basic과 css-2026은 true, 대문자와 공백이 있는 Java Script는 false입니다. match에 쓴 정규식은 글자 뒤에 하이픈과 숫자가 와야 하므로 javascript-basic은 걸리지 않고 css-2026만 찾습니다. 치환 결과는 과정: JavaScript-basic, css-2026입니다.
괄호로 묶은 캡처 그룹에 (?<num>\d+)처럼 이름을 붙이면 일치한 부분을 이름으로 꺼낼 수 있습니다. g 플래그가 있는 정규식을 text.matchAll에 넘겨 순회하면 각 결과에서 groups.num처럼 읽을 수 있어, 문자열 배열만 돌려주는 match보다 자세한 정보를 얻습니다.
g 플래그가 있는 정규식에 test를 반복 호출하면 lastIndex 상태 때문에 결과가 달라질 수 있습니다.
직접 바꿔보세요밑줄도 허용하도록 패턴을 수정하고 대문자 처리 방식을 결정하세요.