正規表現 - Cloud

Talend Cloud Data Preparationユーザーガイド

author
Talend Documentation Team
EnrichVersion
Cloud
EnrichProdName
Talend Cloud
task
データクオリティとプレパレーション > データクレンジング
データクオリティとプレパレーション > データセットの管理
管理と監視 > 接続の管理
EnrichPlatform
Talend Data Preparation

正規表現(regex)は、複雑なパターンの一致を可能にする高度な検索文字列です。

このドキュメントでは、カテゴリー別に正規表現の要素が分類されています。

例ではすべて以下の2行を使用しています:

Comment from happy_user@company.com (04-Apr-2016):

I love working with Talend Data Preparation! It really helps me with all my daily tasks!

正規表現の例

正規表現 マッチング
\bTa Talend
\bw\w* working, with
\w+n\b Preparation
Talend\s\w+\s\w+ Talendデータプレパレーション
task(s?) tasks(「task」とも一致します)
\w+@\w+.com happy_user@company.com
\d{2}-.*-\d+ 04-Apr-2016

アンカー

文字 マッチング サンプル
^ 文字列の最初、または複数行パターンの行の最初 ^Commentは行頭の"Comment"に一致します。

^C.*は最初の行に一致します。

$ 文字列の最後、または複数行パターンの行の最後 !$は最後のエクスクラメーションマークに一致します。
\b 語境界 \bwoは「working」の「wo」と一致します。

\bwo\w+は「working」と一致します。

ng\bは"working"の"ng"に一致します。

\w+ng\bは「working」と一致します。

\B 語境界ではない \Bhは「with」のような末尾の「h」ではなく「helps」または「happy」のような先頭の「h」と一致します。

h\Bは「helps」または「happy」のような先頭の「h」ではなく「with」のような末尾の「h」と一致します。

文字クラス

文字 マッチング サンプル
. 新しい行(\n)以外の任意の文字 .は、復帰改行以外のテキストの全文字に一致します。
\s ホワイトスペース Talend\sDataは「Talend Data」に一致します。

Data\s+Preparationは"Data Preparation"に一致します。

\S ホワイトスペースではない \Sは文中のスペースを除くすべての文字に一致します。
\d 数字 \d{4}は「2016」に一致します。
\選 数字ではない \Dはテキスト内の数字ではなく、すべての文字に一致します。
\w 単語の文字とアンダースコア T\w+は"Talend"に一致します。
\W 語ではない company\Wcom は「company.com」と一致します。
\n 新しい行 .*\n.*は全体のテキストと一致します。

エスケープ文字

文字 マッチング
\. .
\\ \
\+ +
\* *
\? ?
\$ $
\[ [
\] ]
\{ {
\} }
\( (
\) )
\| |
\/ /

グループと範囲

文字

マッチング

サンプル
() Group (グループ) m (e|y)は「me」と「my」に一致します。
(a|b) aまたはb m(e|y)は"me" ("Comment"内)、"me"、"my"に一致します。
[abc] 範囲(aまたはbまたはc) m(ey)は「me」(Commentなど)、「me」と「my」に一致します。
[a-q] aからqまでの文字 m(a-m)は「me」(Commentなど)と「me」に一致しますが、「my」には一致しません。
[0-7] 0から7までの数字 201[0-5]は「2016」には一致しませんが、「2010」から「2015」までのすべての年に一致します。

グループでキャプチャされた表現は、$記号を使って再使用することができます。複数のグループをキャプチャした場合は、数値を$記号に追加することで、キャプチャされた順序に対応するようにします。

たとえば、正規表現Y(\d{2})Q(\d{2})で一致する式Y16Q02を再作成する必要があるとします。この場合、取り込んだ文字を保持しておくだけで、元の式を再作成できます。新しい正規表現をQuarter 02 of year 2016 (2017年第2四半期)とする場合、新しい正規表現Quarter $2 of year 20$1がこれに一致します。

数量詞

文字 マッチング の例
* 0以上 work\w*は"working"に一致し、"work"と"works"にも一致します。
+ 1以上 work\w+とすると「working」だけでなく「works」にも一致します。ただし、「work」とは一致しません。
? 0または1 work(s?)は「work」と「works」に一致しますが、「working」には一致しません。
{3} ぴったり3 20\d{2}は「2016」や「2000」から「2099」の間の他の番号に一致します。
{3,} 3以上 20\d{2,}は「2016」や「20」で始まる「2000」以上の数字と一致します。
{3,5} 3、4、5のいずれか 20{1,2}は"2016"、および"200"から"2099"までの全ての数値に一致します。
[0-7] 0から7までの数字 201[0-9]は"2016"、および"2010"から"2019"までの全ての数値に一致します。