正規表現 - 2.5

Talend Data Preparationユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.0
2.5
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Real-Time Big Data Platform
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"までの全ての数値に一致します。