RegExp

표준형

const re = /ab+c/i

객체 생성자 호출

const re = new RegExp('ab+c', 'i');
const re = new RegExp(/ab+c/, 'i');

Flag 종류

  • g: Globa - 문자열 내의 모든패턴을 찾는다.
  • i: Ignore Case - 문자열의 대소문자를 구별하지 않는다.
  • m: Multi Line - 문자열의 행이 바뀌어도 찾는다.

대표적인

  • ^ : 시작표시(매칭이 처음부터 되어야 함)
  • $ : 끝표시(문자열 끝에 매칭되어야 함)
  • [] : 문자열 셋 [ab][a-z][0-9] 라고 써주면 첫글자는 a또는 b이고 그 다음에 a~z가 나오고 그 뒤에 0~9가 나온다는 뜻.. []안에서 ^쓰면 그 문자가 아닌것들
  • * : 0번 이상 반복
  • + : 1번 이상 반복
  • ? : 0 또는 1회
  • {} : 횟수 표시 [a]{2}이면 aa이고 [a]{2,}이면 a가 2개 이상인거 [a]{2, 4}이면 aa, aaa, aaaa 이다.
  • \d : 숫자, [0-9]와 같음
  • \D : 숫자가 아닌 것들 [^0-9]와 같음
  • | : Or의 뜻
  • {} : 그룹을 묶어 준다.
  • . : 뉴라인(\n)제외한 한 문자 (진짜 .을 찍기 위해선 .으로 표시해야 한다.)

예시

숫자와 문자가 섞여있는 문자열에서 숫자만을 추출해 작은 수부터 정렬

function solution(my_string) {
    return my_string.match(/\d/g).sort((a, b) => a - b).map(n => Number(n));
}
my_string.match(/\d/g); // 문자열에서 숫자만을 추출, 배열로 반환
function solution(my_string) {
    return my_string.replace(/[^0-9]/g, '').split('').sort((a, b) => a - b).map(Number);
}

여기서 [^0-9]는 숫자가 아닌 것들을 의미

https://curryyou.tistory.com/234

카테고리:

태그:

업데이트:

댓글남기기