like 연산자
like 연산자를 사용하여
문자열과 정규식을
비교할 수 있습니다. like와 함께 사용할 수 있는 정규식은
와일드카드 문자와 이스케이프 문자를 포함합니다. like 연산자는
SQL의 LIKE 키워드와 비슷합니다. 정규식에 대한 자세한 정보는
matches 연산자의 내용을 참조하십시오. 연산자는 왼쪽에서
오른쪽으로 문자를
차례로 비교하고 다음 조건 중 하나가 충족되면
종료됩니다.
- 소스 문자열의 문자가 정규식에서 위치가 일치하지 않습니다(비교가 false임).
- 하나의 문자열이 끝나지만 다른 문자열이 끝나지 않습니다(비교가 false임).
- 두 문자열 모두 끝납니다(비교가 true임).
구문

- string
- 정규식과 비교할 STRING 변수입니다.
- regEx
- string을 비교할 정규식입니다. 정규식은 STRING과 지정 호환 가능한 변수 또는 리터럴입니다(DBCHAR 제외). (EGL은 2바이트 와일드카드 문자를 인식할 수 없습니다.) 자세한 정보는 이 주제의 "정규식 규칙"을 참조하십시오.
정규식 규칙
like
연산자가 있는 정규식에 다음 특수 문자를 포함할 수
있습니다.
- %
- 소스 문자열에서 0개 이상의 문자를 일치시키는 와일드카드 기능을 합니다.
- _(밑줄)
- 소스 문자열에서 하나의 문자를 일치시키는 와일드카드 기능을 합니다.
- \(백슬래시)
- 소스 문자열에서 다음에 나오는 문자를 하나의 문자와 비교함을 표시합니다. 백슬래시(\)는 일반적인 처리에서 이스케이프를 일으키므로 이를 이스케이프 문자라고 합니다. 이스케이프 문자는 소스 문자열의 문자와 비교되지 않습니다. 이스케이프 문자는 보통 뒤에 백분율 부호(%), 밑줄(_) 또는 다른 백슬래시가 표시됩니다.
- 백슬래시를 이스케이프 문자로 사용하는 경우(기본 동작) EGL이 동일한 이스케이프 문자를 사용하여 텍스트 표현식에 큰따옴표를 포함할 수 있도록 하므로 문제가 발생합니다. 정규식의 컨텍스트에서, 런타임 시 사용 가능한 텍스트는 초기 백슬래시가 없는 텍스트이므로 두 개의 백슬래시를 지정해야 합니다. 이 문제가 발생하지 않게 하려면 이 주제의 "예제"에 표시된 대로 escape 키워드를 사용하여 다른 문자를 이스케이프 문자로 지정하십시오. 큰따옴표(")를 이스케이프 문자로 사용할 수 없습니다.
정규식의 기타 문자는 소스 문자열에서 하나의 문자와 비교되는 리터럴입니다.
예제
다음
예제에서는 정규식에서 와일드카드를 사용합니다.
myVar01 = "abcdef";
// evaluates as TRUE
if (myVar01 like "a_c%")
;
end
다음 예제는 이스케이프 문자의 사용을
보여줍니다. 이중 백슬래시
사용에 유의하십시오.
myVar01 = "ab%def";
// evaluates as true
if (myVar01 like "ab\\%def")
;
end
다음 예제에서는 escape 키워드를 사용하여
더하기 부호를 정규식의 이스케이프 문자로 만듭니다.
myVar01 = "ab%def";
// evaluates as true
if (myVar01 like "ab+%def" escape "+")
;
end
like 연산자는
두 피연산자에 있는 후미 공백을
무시합니다.
// evaluates as true
if ("hello " like "hello ")
;
end