CS 기초
Regular Expression(정규표현식)
문자열에서 반복되는 모양을 찾아 검사하고 뽑아내거나 바꾸는 패턴 언어
어떤 개념인가요?
로그에서 request ID만 뽑거나 입력 형식을 빠르게 검사할 때 문자열을 한 글자씩 비교하지 않고 패턴으로 표현합니다. `/error|timeout/i`는 대소문자를 구분하지 않고 error 또는 timeout을 찾는 JavaScript 정규표현식입니다. 짧은 검색과 치환에는 유용하지만 중첩된 반복이나 겹치는 선택지는 입력이 길어질수록 많은 backtracking을 만들 수 있습니다. 복잡한 문법 전체를 정규표현식 하나로 해석하거나 client 검증만으로 보안을 보장하는 도구는 아닙니다.
이 신호가 보이면 떠올리세요
- 로그와 URL에서 일정한 형식의 값 추출
- 문자열 validation과 일괄 치환
- 복잡한 패턴에서 CPU 사용량과 처리시간 급증
- 사용자 입력으로 동적인 패턴 생성
함께 검색할 키워드
사이트 안에 같은 주제가 있으면 위키로, 아직 없으면 Google 검색으로 연결됩니다.
출처와 더 읽을거리
함께 보면 좋은 주제
직접 만져보는 랩
이 주제를 직접 다루는 랩은 준비 중입니다. 연결된 주제에서 먼저 감각을 잡아보세요.