10.3 정규 표현식(Regular Expressions)

10.3 정규 표현식(Regular Expressions)

Haxe는 정규 표현식에 대한 내장 지원을 제공합니다. 문자열의 형식을 검증하거나, 문자열을 변환하거나, 주어진 텍스트에서 정규 데이터를 추출하는 데 사용할 수 있습니다.

Haxe는 정규 표현식을 만들기 위한 특별한 구문을 제공합니다. ~/ 조합과 단일 / 문자 사이에 입력해 정규 표현식 객체를 만들 수 있습니다:

var r = ~/haxe/i;

또는 일반 구문으로 정규 표현식을 만들 수 있습니다:

var r = new EReg("haxe", "i");

첫 번째 인자는 정규 표현식 패턴이 있는 문자열이고, 두 번째 인자는 플래그(아래 참조)가 있는 문자열입니다.

이러한 표준 정규 표현식 패턴을 사용할 수 있습니다:

  • . 모든 문자
  • * 0회 이상 반복
  • + 1회 이상 반복
  • ? 선택적 0회 또는 1회
  • [A-Z0-9] 문자 범위
  • [^\r\n\t] 범위에 없는 문자
  • (...) 문자 그룹 일치 괄호
  • ^ 문자열의 시작(멀티라인 매칭 모드에서는 줄의 시작)
  • $ 문자열의 끝(멀티라인 매칭 모드에서는 줄의 끝)
  • | "OR" 문

예를 들어 다음 정규 표현식은 유효한 이메일 주소를 일치시킵니다:

~/[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z][A-Z][A-Z]*/i;

정규 표현식 끝의 i는 대소문자를 구분하지 않는 매칭을 활성화하는 플래그입니다.

가능한 플래그는 다음과 같습니다:

  • i 대소문자 구분 없는 매칭
  • g 전역 대체 또는 분할, 아래 참조
  • m 멀티라인 매칭, ^$는 줄의 시작과 끝을 나타냄
  • s.도 새 줄과 일치함 (C#과 ES2018 이전 JavaScript 버전은 지원하지 않음)
  • u UTF-8 매칭 사용 (Neko와 C++ 타깃 전용)
관련 내용

메서드에 대한 자세한 내용은 EReg API를 참조하세요.

Haxe Code Cookbook의 정규 표현식에 관한 자습서와 예제.

출처: Regular Expressions

더 알아보기