본문 바로가기

HackerRank

[해커랭크] Day 7: Regular Expressions Ⅱ (javascript)

접두어 정규식

조건

  • 문자열 s 에서 시작하는 접두어는 아래와 같음
    • Mr., Mrs., Ms., Dr., Er. 
  • 문자열 에서 접두어를 제외한 문자열은 반드시 하나 이상의 대소문자 알파벳

제한사항

  • s ≥ 3

나의 풀이

  • 정규식을 사용한 경험이 적어 많이 해맨 과제
    • 반복하다보니 점점 패턴의 의미를 이해하게 되긴하는 듯
  • 사용한 정규식 : /(Mr|Mrs|Ms|Dr|Er)\..\w*$/g
    • () : 그룹
    • | : 구분자 (or)
    • \. : 문자열 . 
    • . : 개행/종결문을 제외한 모든 문자열 (한자리)
    • \w: 알파벳 문자열 ( [a-zA-Z])
    • $: 끝나는 문자열
// 생략

function regexVar() {
    /*
     * Declare a RegExp object variable named 're'
     * It must match a string that starts with 'Mr.', 'Mrs.', 'Ms.', 'Dr.', or 'Er.', 
     * followed by one or more letters.
     */
    
    const re = new RegExp(/(Mr|Mrs|Ms|Dr|Er)\..\w*$/g);
    /*
     * Do not remove the return statement
     */
    return re;
}

// ..후략

결과