본문 바로가기

HackerRank

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

모음 정규식

 조건

  • 모음 : a, e, i, o u
  • 문자열의 첫자리와 끝자리가 같은 유형의 모음인지 확인

제한사항

  • 3 ≤ s
  • 문자열 s는 소문자로 구성됨

나의 풀이

  • 각 모음별 정규식 제어
    • (?=^${vowel}).*.(?=${vowel}$)
      • () : 그룹
      • ?= : 경우에만 일치 (해당 과제에선 불필요한 것으로 보임)
      • ^: 첫 문자열
      • . : 줄넘김 등 종결자를 제외한 모든 문자
      • $: 끝 문자열
    •  더 간결하게 처리할 수 있을 것으로 보임.
// 생략

function regexVar() {
    /*
     * Declare a RegExp object variable named 're'
     * It must match a string that starts and ends with the same vowel (i.e., {a, e, i, o, u})
     */

    const re = new RegExp(/(?=^a).*.(?=a$).|(?=^e).*.(?=e$).|(?=^i).*.(?=i$).|(?=^o).*.(?=o$).|(?=^u).*.(?=u$)./gmi);
    
    /*
     * Do not remove the return statement
     */
    return re;
}

// ...후략

결과