리눅스 정규 표현식과 패턴 검색
in Development on Linux
정규표현식
- 검색에서 사용할 매칭되는 같은 문자들의 패턴
메타 문자
정규 표현식에서는 문자 그대로의 의미 이상으로 해석되는
메타문자
라고 부르는 문자들의 집합을 사용연산자 효과 .
모든 문자 1개와 일치 ?
앞에 존재하는 문자가 있을수도, 없을수도 있을 경우 사용 *
앞에 존재하는 문자가 0번 혹은 그 이상 반복되는 문자를 찾을 때 사용 +
앞에 존재하는 문자가 1번 혹은 그 이상 반복되는 문자를 찾을 때 사용 []
대괄호 사이에 존재하는 문자들 중 하나에 일치 [a-z]
a부터 z까지 모든 영문자 소문자와 일치 ^
대괄호 사이에 존재할 때는 부정 [^a]
, 대괄호 밖에서는 문자 열의 시작과 일치$
^와 반대로 문자열의 끝과 일치할 경우 {N}
정확히 N번 일치 {N,}
N번 또는 그 이상 일치 {N, M}
적어도 N번 일치하지만 M번 일치를 넘지 않음 \b
단어 끝의 공백 문자열 \B
단어 끝이 아닌 곳에서의 공백 문자열 \<
단어 시작에서의 공백 문자열을 의미. \<linux
: linux 문자열로 시작하는 단어를 포함한 라인(vi, grep)\>
단어 끝에서의 공백 문자열을 의미. linux\>
: linux 문자열로 끝나는 단어를 포함한 라인
확장 브래킷
브래킷 | 의미 |
---|---|
[:alnum:] | [A-Za-z0-9] 알파벳 문자와 숫자로 이루어진 문자열 |
[:alpha:] | [A-Za-z] 알파벳 문자 |
[:blank:] | [\x09] 스페이스와 탭 |
[:cntrl:] | 컨트롤 제어 문자 |
[:digit:] | [0-9] 숫자 |
[:graph:] | [!-~] 공백이 아닌 문자(스페이스, 제어 문자들을 제외한 문자) |
[:lower:] | [a-z] 소문자 |
[:print:] | graph와 유사하지만 스페이스 문자를 포함 |
[:punct:] | [!-/:-@[-'{-~] 문장 부호 문자 |
[:space:] | [\t\v\f] 모든 공백 문자(newline 줄바꿈, 스페이스, 탭) |
[:upper:] | [A-Z] 대문자 |
[:xdigit:] | 16진수에서 사용할 수 있는 숫자 |
Vim에서 정규 표현식을 사용한 검색
- vim에서
ESC
키를 누르고/검색할 문자열
형태를 입력하고 엔터를 누르면 검색 가능 /없이$
: 없이로 끝나는 문자열 검색/...세
: 4개 문자로 구성된 문자열 중 마지막 문자가 “세”로 끝나는 문자열 검색/o*ve
: o로 시작되는 문자부터 ve로 끝나는 모든 문자열 검색/[Ll]ove
: Love, love
카일스쿨 유튜브 채널을 만들었습니다. 데이터 분석, 커리어에 대한 내용을 공유드릴 예정입니다.
PM을 위한 데이터 리터러시 강의를 만들었습니다. 문제 정의, 지표, 실험 설계, 문화 만들기, 로그 설계, 회고 등을 담은 강의입니다
이 글이 도움이 되셨거나 의견이 있으시면 댓글 남겨주셔요.