정규 표현식 함수 속성

정규 표현식 함수 속성 (Regular expression function properties)

이 속성들은 정규 표현식 함수를 튜닝할 수 있게 해 줘요.

출처: 문서

본문

regex-library

  • 타입: string
  • 허용 값: JONI, RE2J
  • 기본값: JONI

정규 표현식 함수에 사용할 라이브러리예요. JONI는 일반적인 용도에서 보통 더 빠르지만, 특정 표현 패턴에서는 지수 시간(exponential time)이 걸릴 수 있어요. RE2J는 다른 알고리즘을 사용해 선형 시간을 보장하지만 보통 더 느려요.

re2j.dfa-states-limit

  • 타입: integer
  • 최솟값: 2
  • 기본값: 2147483647

RE2J가 정규 표현식 매칭을 위해 빠르지만 메모리를 많이 쓸 수 있는 결정적 유한 자동자(DFA)를 만들 때 사용할 상태의 최대 수예요. 한도에 도달하면 RE2J는 느리지만 메모리를 덜 쓰는 비결정적 유한 자동자(NFA) 알고리즘으로 폴백해요. 이 값을 줄이면 속도를 희생하고 정규 표현식 검색의 최대 메모리 사용량을 줄일 수 있어요.

re2j.dfa-retries

  • 타입: integer
  • 최솟값: 0
  • 기본값: 5

RE2J가 상태 한도에 도달했을 때, 그 검색의 이후 모든 입력에 대해 느리지만 메모리를 덜 쓰는 NFA 알고리즘을 사용하기 전에 DFA 알고리즘을 재시도하는 횟수예요. 주어진 입력 행에서 한도에 도달하는 것이 이상치(outlier)일 가능성이 높다면, 이후 행은 더 빠른 DFA 알고리즘으로 처리할 수 있게 하고 싶을 거예요. 이후 행에서도 매치 한도에 도달할 가능성이 높다면, 처음부터 올바른 알고리즘을 사용해 시간과 리소스를 낭비하지 않는 게 좋아요. 처리하는 행이 많을수록 이 값은 커야 해요.

더 알아보기 (Learn more)

정규 표현식 함수 사용법이 궁금하다면 정규 표현식 함수 문서를 이어서 읽어 보세요.