

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

RLIKE 演算子を使用すると、文字列が指定された正規表現パターンと一致するかどうかを確認できます。

str `true`が と一致する場合は `regexp`を返します。`false`それ以外の場合は を返します。

## 構文
<a name="RLIKE-syntax"></a>

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

## 引数
<a name="RLIKE-arguments"></a>

 *str*   
文字列式

 *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
```

たとえば、 では`spark.sql.parser.escapedStringLiterals=true`、SQL クエリで次の文字列リテラルを使用できます。

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

改行文字は`\n`、出力でリテラル改行文字として解釈されます。

次の の例では、正規表現パターンの一致を実行します。最初の引数は RLIKE 演算子に渡されます。これはファイルパスを表す文字列で、実際のユーザー名はパターン「\$1\$1\$1\$1」に置き換えられます。2 番目の引数は、マッチングに使用される正規表現パターンです。出力 (`true`) は、最初の文字列 () が正規表現パターン (`'%SystemDrive%\Users\****'`) と一致することを示します`'%SystemDrive%\\Users.*'`。

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