정규표현식
2020-07-03
알고리즘 문제를 풀다보면 정규표현식의 필요성을 느끼게 된다.
정규표현식이 없으면 풀이가 엄청 길어지는 문제도,
정규표현식을 사용하면 엄청 짧아진다.
사실 실무에서 정규표현식이 많이 사용될지는 잘 모르겠지만
자바스크립트를 사용하는 이상 필수적으로 공부해야할 것 같긴 하다.
무엇보다도 알고리즘 문제에 단골 손님으로 나오니까
공부한다고 손해보는 일은 없을 것 같기도 하고..
뭐 어쨌건, 필요성이 느껴지는 건 사실이니까
앞으로 문자열 관련 문제가 나오면
웬만하면 정규표현식을 이용해서 풀어보도록 하자.
정규표현식 사용한 풀이 / 사용하지 않은 풀이
둘 다 풀어봐야되는건가?
match 함수
match 함수는, 대상 문자열 중에서
인자로 오는 정규표현식에 맞는 문자열을 찾아 반환하는 함수다.
근데 오늘 match 함수의 새로운 사용법을 하나 배웠다.
'match함수의 정규표현식에서 괄호로 묶은 내용들은 각자 그룹으로 관리되어,
원래의 문자열과 함께 배열의 요소로 반환된다'는 것.
일정한 패턴을 가진 문자열들을 추출해낼 때 유용하게 사용할 수 있을 듯.
const el_1 = '1S*';
const el_2 = '2D';
console.log(el_1.match(/([0-9]{1,2})([A-Z])([*#])*/)); // {'1S*', '1', 'S', '*'}
console.log(el_2.match(/([0-9]{1,2})([A-Z])([*#])*/)); // {'2D', '2', 'D', undefined}