필드 값에 대한 정규식을 텍스트 상자에 입력하여 로그 이벤트에서 필드를 추출할 수 있습니다.

입력하는 식은 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개의 숫자가 나옴