正規表現 - 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 Data Preparation

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

非数字

\Dは、数字以外のテキストの全文字に一致します。

\w

単語文字と下線

T\w+は"Talend"に一致します。

\W

非単語

company\Wcomは"company.com"に一致します。

\n

新しい行

.*\n.*はテキスト全体に一致します。

エスケープ文字

文字

一致

\.

.

\\

\

\+

+

\*

*

\?

?

\$

$

\[

[

\]

]

\{

{

\}

}

\(

(

\)

)

\|

|

\/

/

グループと範囲

文字

一致

()

グループ

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という新しい表現にする場合、新しい正規表現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"までのすべての数値に一致します。