Write a function that when given a URL as a string, parses out just the domain name and returns it as a string. For example:
이문제인데 처음 문제를 보고 두가지 방법이 생각났다.
1)정규식사용으로 잘라서 추출하기.
2)String.prototype.replace 사용하고, split으로 추출하기.
정규식은 익숙치 않아서 2번째 방법으로 일단 제출하고 다른분들의 코드를 봐보기로 했다.
function domainName(url){
url = url.replace("https://", '');
url = url.replace("http://", '');
url = url.replace("www.", '');
return url.split('.')[0];
};
근데 이렇게 작성했을때 예시url은 해결할 수 있지만 , url이 "https://mynamedwww.com"이라면 옳지않은 도메인 네임을 추출하게된다.
정규식사용 코드
function domainName(url){
return url.match(/(?:http(?:s)?:\/\/)?(?:w{3}\.)?([^\.]+)/i)[1];
}
이런 해결책이 정규식이다.
정규식은 하루 10분씩 공부하더라도 꼭해야겠다... 위코드랑 비교해도 코드길이가 엄청 짧아지고 확실하게 추출할 수 있다.