正規表現
このセクションでは、次の正規表現関数について説明します。
| 関数 | 説明 |
|---|---|
| REGEX_EXTRACT | 文字列内の正規表現パターンに最初に一致するものを検索し、要求されたキャプチャ グループ番号を返します |
| REGEXP_EXTRACT_ALL | 入力文字列が正規表現に一致するかを判定します。エスケープ グループが存在する場合はそれを返し、存在しない場合は元の文字列を返します |
| REGEXP_LIKE | 正規表現パターンを評価し、文字列内に含まれているかどうかを判断します |
| REGEX_MATCH_POSITION | 入力文字列に対して正規表現を照合し、最初の一致のインデックスを返します |
| REGEX_NAMED_GROUPS | 入力文字列が正規表現に一致するかを判定します。項目名とグループ名を持つレコードを返します |
| REGEXP_REPLACE | 正規表現パターンを評価し、一致したすべてのインスタンスを置き換えます |
正規表現パターン
正規表現によるパターン マッチングで使用される正規表現パターンについて、以下の表で説明します。
| 表現 | 記号 | 説明 |
|---|---|---|
| 任意の文字 | . | 改行を除く任意の 1 文字に一致します。 |
| 0 回以上 | * | 直前の表現の 0 回以上の繰り返しに一致し、可能な限りすべてのマッチを試みます。 |
| 1 回以上 | + | 直前の表現の 1 回以上の繰り返しに一致します |
| 行の先頭 | ^ | 一致する文字列を行頭に固定します。 |
| 行末 | $ | 一致する文字列を行末に固定します。 |
| 単語の先頭 | < | テキスト内のこの位置で単語が始まる場合にのみ一致します。 |
| 単語の末尾 | > | テキスト内のこの位置で単語が終わる場合にのみ一致します。 |
| 改行 | \n | プラットフォームに依存しない改行に一致します。置換表現として使用する場合、改行を挿入します。 |
| 数字 | \d | 任意の数字 [0-9] に一致します。 |
| セット内の任意の 1 文字 | [] | [] 内の任意の 1 文字に一致します。文字の範囲を指定するには、[a-z] のように、開始文字と終了文字をダッシュ (-) で区切ってリストします。 |
| ^ の後に続く文字セットに含まれない任意の文字に一致します。 | [^...] | ^ の後に続く文字セットに含まれない任意の文字に一致します。 |
| 論理和 | | | OR 記号 (|) の前または後のいずれかの表現に一致します。主にグループ内で使用されます。例: (sponge|mud) bath は「sponge bath」と「mud bath」に一致します。 |
| タグ付き表現 | {} | 囲まれた表現でタグ付けされたテキストに一致します。 |
| /C++ Identifier | :i | 表現 ([a-zA-Z_$][a-zA-Z0-9_$]*) に一致します。 |
| 引用符で囲まれた文字列 | :q | 表現 (("[^"]")|('[^']')) に一致します。 |
| スペースまたはタブ | :b | スペースまたはタブ文字のいずれかに一致します。 |
| 表現 ([0-9]+) に一致します。 | :z | 整数 :z 表現 ([0-9]+) に一致します。 |