

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# RLIKE
<a name="RLIKE"></a>

RLIKE 연산자를 사용하면 문자열이 지정된 정규식 패턴과 일치하는지 확인할 수 있습니다.

str이와 일치하는 `true` 경우를 반환하고`regexp`, `false` 그렇지 않으면를 반환합니다.

## 구문
<a name="RLIKE-syntax"></a>

```
rlike(str, regexp)
```

## 인수
<a name="RLIKE-arguments"></a>

 *문자열*   
문자열 표현식

 *regexp*   
문자열 표현식입니다. 정규식 문자열은 Java 정규식이어야 합니다.  
문자열 리터럴(정규식 패턴 포함)은 SQL 구문 분석기에서 이스케이프 처리되지 않습니다. 예를 들어 "\$1abc"와 일치시키려면 *regexp*의 정규식은 "^\$1abc\$1"일 수 있습니다.

## 예시
<a name="RLIKE-examples"></a>

다음 예제에서는 `spark.sql.parser.escapedStringLiterals` 구성 파라미터의 값을 로 설정합니다`true`. 이 파라미터는 Spark SQL 엔진에만 해당됩니다. Spark SQL의 `spark.sql.parser.escapedStringLiterals` 파라미터는 SQL 구문 분석기가 이스케이프된 문자열 리터럴을 처리하는 방법을 제어합니다. 로 설정하면 `true`구문 분석기는 문자열 리터럴 내의 백슬래시 문자(`\`)를 이스케이프 문자로 해석하므로 문자열 값 내에 줄 바꿈, 탭 및 따옴표와 같은 특수 문자를 포함할 수 있습니다.

```
SET spark.sql.parser.escapedStringLiterals=true;
spark.sql.parser.escapedStringLiterals  true
```

예를 들어 에서는 SQL 쿼리에 다음 문자열 리터럴을 사용할 `spark.sql.parser.escapedStringLiterals=true`수 있습니다.

```
SELECT 'Hello, world!\n'
```

줄 바꿈 문자는 출력에서 리터럴 줄 바꿈 문자로 해석`\n`됩니다.

다음 예제에서는 정규식 패턴 일치를 수행합니다. 첫 번째 인수는 RLIKE 연산자에게 전달됩니다. 실제 사용자 이름이 '\$1\$1\$1\$1' 패턴으로 대체되는 파일 경로를 나타내는 문자열입니다. 두 번째 인수는 일치에 사용되는 정규식 패턴입니다. 출력(`true`)은 첫 번째 문자열(`'%SystemDrive%\Users\****'`)이 정규식 패턴()과 일치함을 나타냅니다`'%SystemDrive%\\Users.*'`.

```
SELECT rlike('%SystemDrive%\Users\John', '%SystemDrive%\Users.*');
true
```