[프로그래머스 | Javascript] 코딩테스트 입문 - 숨어있는 숫자의 덧셈 (2)

✔문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.


✔입출력 예

my_string                                                                                                                                         result

"aAb1B2cC34oOp" 37
"1a2b3c4d123Z" 133

✔나의 풀이

function solution(my_string) {
    const nums = my_string.match(/[0-9]+/g);
    return nums?nums.map(num =>Number(num)).reduce((a,c)=>a+c):0;
}

✔깨달은 점

문자가 아닌 숫자를 모두 선택하는 정규식이 있다는 것을 처음알았다.

이 정규식이 해석을 이렇게 한다.

(예: /[0-9]+/g)

정규식 / 사이에 모든 숫자를 매칭하는 [0-9]에 

합을 뜻하는 +기호를 붙여 모든 숫자만을 매칭해서 더해주고 발생할 모든 패턴에 대한 전체 검식을 뜻하는 플래그인 g를 붙여 만들었다.