728x90
1. 정규표현식 정의
- 검색에서 사용할 매칭되는 같은 문자들의 패턴
2. 메타 문자
- 정규 표현식에서는 문자 그대로의 의미 이상으로 해석되는 메타문자 (문자들의 집합) 사용
※ 메타문자 연산자와 효과
연산자 | 효과 |
. | 모든 문자 1개와 일치 |
? | 앞에 존재하는 문자가 있을수도, 없을수도 있을 경우 사용 |
* | 앞에 존재하는 문자가 0번 혹은 그 이상 반복되는 문자를 찾을 때 사용 |
+ | 앞에 존재하는 문자가 1번 혹은 그 이상 반복되는 문자를 찾을 때 사용 |
[] | 대괄호 사이에 존재하는 문자들 중 하나에 일치 |
[a-z] | a부터 z까지 모든 영문자 소문자와 일치 |
^ | 대괄호 사이에 존재할 때는 부정 [^a], 대괄호 밖에서는 문자 열의 시작과 일치 |
$ | ^와 반대로 문자열의 끝과 일치할 경우 |
{N} | 정확히 N번 일치 |
{N,} | N번 또는 그 이상 일치 |
{N, M} | 적어도 N번 일치하지만 M번 일치를 넘지 않음 |
\b | 단어 끝의 공백 문자열 |
\B | 단어 끝이 아닌 곳에서의 공백 문자열 |
\< | 단어 시작에서의 공백 문자열을 의미. \<linux : linux 문자열로 시작하는 단어를 포함한 라인(vi, grep) |
\> | 단어 끝에서의 공백 문자열을 의미. linux\> : linux 문자열로 끝나는 단어를 포함한 라인 |
3. 확장 브래킷
※ 확장 브래킷과 각 브래킷 별 의미
브래킷 | 의미 |
[: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진수에서 사용할 수 있는 숫자 |
4. Vim에서 정규 표현식을 사용한 검색 예시
- vim에서 ESC키를 누르고 /검색할 문자열 형태를 입력하고 엔터를 누르면 검색 가능
- /없이$ : 없이로 끝나는 문자열 검색
- /...자 : 4개 문자로 구성된 문자열 중 마지막 문자가 “자”로 끝나는 문자열 검색
- /l*ve : l로 시작되는 문자부터 ve로 끝나는 모든 문자열 검색
- /[Ll]ove : Love, love
728x90
'IT_Engineer > DevOps_Unix & Linux (Bash)' 카테고리의 다른 글
[Linux] TAR 압축 묶기/풀기 (0) | 2021.01.18 |
---|---|
[Linux] AWK와 SED (0) | 2020.12.08 |
[OS] CentOS 7 부팅 USB 만들기 (1) | 2020.12.02 |
[Linux] 리눅스의 부팅 과정과 로그인 쉘 #2 (0) | 2020.11.20 |
[Linux] 리눅스의 부팅 과정과 로그인 쉘 #1 (0) | 2020.11.19 |