정규 표현식 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다.

 

https://regexr.com/

위의 링크에서 정규 표현식을 테스트할 수 있다.

 

  • *

문자 또는 숫자가 0개 이상이다.

 

  • +

문자 또는 숫자가 1개 이상이다.

 

  • ^

문자열 또는 줄의 시작을 지정한다.

^[0]은 0으로 시작하는 문자열과 일치한다.

 

  • $

문자열 또는 줄의 끝을 지정한다.

[0]$은 0으로 끝나는 문자열과 일치한다.

 

  • [...]

대괄호는 대괄호 안의 문자와 일치한다.

예를 들어, [a-z]는 a부터 z 사이의 소문자와 일치한다.

 

  • {...}

중괄호는 반복을 나타낸다.

[a]{2}는 2개의 a가 있는 문자와 일치하고, [0-9]{2, 5}는 2~5개의 숫자를 가진 문자와 일치한다.

 


영어 소문자만 가능

ex) abc..

/^[a-z]+$/g

 

영어 대문자만 가능

ex) ABC..

/^[A-Z]+$/g

 

영문만 가능

ex) abcABC..

/^[a-zA-Z]+$/g

 

한글만 가능

ex) 가나다..

/^[가-힣]+$/g

 

숫자만 가능

ex) 123..

/^[0-9]+$/g

 

주민번호

ex) 230101-1010101..

/^\d{6}-[1|2|3|4]{1}\d{6}$/g
또는
/^[0-9]{6}-[1|2|3|4]{1}[0-9]{6}$/g

 

전화번호

ex) 021234567, 01012345678..

/^[0-9]{9,11}/g

 

- 전화번호

ex) 02-123-1234, 010-1234-5678..

/^\d{2,3}-\d{3,4}-\d{4}$/g
또는
/^[0-9]{2,3}-[0-9]{3,4}-[0-9]{4}$/g

 

이메일

ex) test123@test.com..

/^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/g
또는
/^[a-zA-Z0-9]+@[a-zA-Z0-9]+\.(com|net|kr)$/g

 

특수문자

/^[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]+$/g

https://school.programmers.co.kr/learn/courses/30/lessons/12948

 

문제 설명

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

 

제한조건

  • phone_number는 길이 4 이상, 20이하인 문자열입니다.

 

function solution(phone_number) {
    let length = phone_number.length - 4
    
    return phone_number.slice(0, length).replace(/[0-9]/g, "*") + phone_number.slice(length, phone_number.length)
}

https://school.programmers.co.kr/learn/courses/30/lessons/120956

 

문제 설명

머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • 1 ≤ babbling의 길이 ≤ 100
  • 1 ≤ babbling[i]의 길이 ≤ 15
  • babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다.
  • 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다.
  • 문자열은 알파벳 소문자로만 이루어져 있습니다.

 

단어를 "aya", "ye", "woo", "ma"로 다 발음할 수 있어야 한다.
단어 중 일부만 발음할 수 있어도 발음할 수 있는 단어가 아니다.

function solution(babbling) {
    let words = []
    let answer = 0
    
    for(i=0; i<babbling.length; i++){
        words[i] = babbling[i].replace(/aya|ye|woo|ma/g, '')
        
        if(words[i] === '') {
            answer++
        }
    }
    
    return answer
}

https://school.programmers.co.kr/learn/courses/30/lessons/120849

 

문제 설명

영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • my_string은 소문자와 공백으로 이루어져 있습니다.
  • 1 ≤ my_string의 길이 ≤ 1,000

 

function solution(my_string) {
    const regex  = /a|e|i|o|u/g
    
    return my_string.replace(regex, '')
}

+ Recent posts