REGEX
Regular Expression
RE
정규표현식
UNIX 계열 표준 정규표현식
Perl 정규표현식 호환으로 확장된 기능을 가지고 있음
C언어 기반 시작
POSIX REGEX 대비 성능 좋음
현재는 PCRE2 버전 사용
EBNF 문법 알아둘 것
global regular expression print
UNIX에서 가장 기본적인 REGEX 평가 유틸리티
-G
BRE를 사용하여 작동(default)
-E
ERE를 사용하여 작동
-P
PCRE를 사용하여 작동
--color
매칭된 부분 강조색으로 표현
-o
매칭된 부분만 출력
-v
--invert-match
매칭되지 않은 것만 출력
stream editor로서 REGEX 기능 일부 탑재
.
임의의 문자 한 개 의미
?
? 앞에 문자가 0개 또는 1개 존재
*
* 앞에 문자가 0개 이상 존재
+
+ 앞에 문자가 1개 이상 존재
{m,n}
앞에 문자가 m개 이상 n개 이하 존재
*
만 BRE임
^
^ 뒤에 문자열로 시작하는 행
$
$ 앞 문자열로 끝나는 경우
[]
속에 포함된 문자 중 하나
[0-9]
0~9
[a-zA-Z0-9]
대소문자 알파벳, 숫자
[^0-9]
0~9 제외한 나머지
[0-9^]
0~9, ^
file안에 p로 시작, a~d까지 문자 하나 이상 존재, ous로 끝나는 문자열 포함하는 단어 탐색
\+
인 이유 : +
는 ERE이기 때문
grep "p[abcd]\+ous" /path/file
ous로 끝나는 단어 탐색 조건 추가
-A N
매칭된 행 다음 행 N개 출력(after)
-B N
매칭된 행 이전 행 N개 출력(before)
-C N
매칭된 행 다음, 이전 행 N개 출력(context)