正規表現
正規表現(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 | プレパレーション |
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はテキスト内の数字ではなく、すべての文字と一致します。 |
\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"までのすべての数値と一致します。 |