필드 값에 대한 정규식을 텍스트 상자에 입력하여 로그 이벤트에서 필드를 추출할 수 있습니다.
입력하는 식은 Java 정규식 구문을 사용해야 합니다.
표 1.
문자 연산자
정규식 |
설명 |
\ |
특수 문자 이스케이프 |
\b |
단어 경계 |
\B |
단어 경계 아님 |
\d |
숫자 하나 |
\D |
숫자 이외 하나 |
\n |
줄 바꿈 |
\r |
줄 바꿈 기호 |
\s |
공백 하나 |
\S |
공백을 제외한 모든 문자 |
\t |
탭 |
\w |
영숫자 또는 밑줄 문자 하나 |
\W |
영숫자 또는 밑줄 이외 문자 하나 |
|
|
예를 들어, 문자열 1234-5678이 있고 다음 정규식을 적용하는 경우
정규식 |
결과 |
\d |
1 |
\d+ |
1234 |
\w+ |
1234 |
\S |
1234-5678 |
표 2.
수량사 연산자
정규식 |
설명 |
. |
줄 바꿈을 제외한 모든 문자 |
* |
0개 이상의 문자, 최대한 길게 |
? |
0개 이상의 문자 또는 최대한 짧게 |
+ |
하나 이상 |
{<n>} |
정확히 <n>번 |
{<n>,<m>} |
<n> ~ <m>번 |
예를 들어, 문자열 aaaaa가 있고 다음 정규식을 적용하는 경우
정규식 |
결과 |
. |
a |
* |
aaaaa |
.*? |
aaaaa |
.{1} |
a |
.{1,2} |
aa |
표 3.
조합 연산자
정규식 |
설명 |
.* |
모두 |
.*? |
모두, 앞에 최대한 짧게 |
예를 들어, 문자열 a b 3 hi d hi가 있고 다음 정규식을 적용하는 경우
정규식 |
결과 |
a.* hi |
b 3 hi d |
a .*? hi |
b 3 |
표 4.
논리 연산자
정규식 |
설명 |
^ |
줄의 시작 또는 대괄호에 있지 않음 |
$ |
줄의 끝 |
() |
캡슐화 |
[] |
대괄호의 문자 하나 |
| |
OR |
- |
범위 |
\A |
문자열 시작 |
\Z |
문자열 끝 |
예를 들어, 다음 정규식을 적용하는 경우
정규식 |
결과 |
(hello)? |
hello를 포함하거나 hello를 포함하지 않음 |
(a|b|c) |
a 또는 b 또는 c |
[a-cp] |
a 또는 b 또는 c 또는 p |
world$ |
world로 끝나고 뒤에 아무 것도 없음 |
표 5.
Lookahead 연산자
정규식 |
설명 |
?= |
양의 lookahead(포함) |
?!= |
음의 lookahead(포함 안 됨) |
예를 들어, 다음 정규식을 적용하는 경우
정규식 |
결과 |
is (?=\w+)\w{2} primary |
is FT primary? false |
opid=(?!WFU-1fecf8f9)\S+ |
WFU-3c9bb994 |
표 6.
정규식의 추가적인 예
정규식 |
설명 |
[xyz] |
x, y 또는 z |
(info|warn|error) |
info, warn 또는 error |
[a-z] |
소문자 |
[^a-z] |
소문자 아님 |
[a-z]+ |
소문자 하나 이상 |
[a-z]* |
소문자 0개 이상 |
[a-z]? |
소문자 0개 또는 1개 |
[a-z] {3} |
정확히 3개의 소문자 |
[\d] |
숫자 하나 |
\d+$ |
하나 이상의 숫자 다음에 메시지 끝이 나옴 |
[0-5] |
0에서 5까지의 숫자 |
\w |
단어 문자(문자, 숫자 또는 밑줄) |
\s |
공백 |
\S |
공백을 제외한 모든 문자 |
[a-zA-Z0-9]+ |
하나 이상의 영숫자 문자 |
([a-z] {2,} [0-9] {3,5}) |
2개 이상의 문자 다음에 3-5개의 숫자가 나옴 |