チェーンビルダー では、正規表現(regex)演算子を使用して、テキスト文字列のパターンを定義するなど、テキスト文字列の文字をマッチさせることができます:
- 変換/トランスフォーメーションルールのマップ データの準備 コネクター パイプライン用
- ファイルユーティリティ コネクターの検索、検索と置換、ファイルの分割 コマンド
- 表形式変換コネクターの列フィルター,フィルター行、検索と置換、結合列およびスマートフィルター行 コマンド
一般的な演算子
マッチするパターンを定義するには、これらの一般的な演算子を使うことができる:
| 演算子 | 説明 | 例 | 返却 |
|---|---|---|---|
^ |
文字列の先頭にマッチする | ^abc |
abc,abcdef...,abc123 |
$ |
文字列のEndにマッチ | ABC$ |
my:abc,123abc,theabc |
. |
ワイルドカードとして任意の文字にマッチ | a.c |
abc,asc,a123c |
| |
OR文字 | abc|xyz |
abc またはxyz |
(...) |
括弧内の値をキャプチャする | (a)b(c) |
aおよびc |
[...] |
括弧内にマッチするもの | [abc]。 |
a,b, またはc |
[a - z] |
aからzまでの小文字にマッチ | [b-z] |
bc,mind,xyz |
[0-9] |
0から9までのあらゆる数値にマッチする | [0-3] |
3201 |
{x} |
正確なマッチング時間 | (abc){2} |
Abcabc |
{x,} |
最低マッチング回数 | (abc){2,}. |
アブカブカブカ |
* |
*の場所の何かにマッチ、または"greedy"なマッチ | ab*c |
abc,abbcc,abcdc |
+ |
+の前の文字に1回以上マッチ | a+c |
ac,aac,aaac |
? |
?の前の文字に0回または1回マッチするか、または"non-greedy"なマッチ | ab?c |
ac,abc |
/ |
/の後の文字をエスケープするか、エスケープシーケンスを作成 | a/bc |
a c 、間隔は/b と一致する。 |
パターン内で演算子のリテラル文字を使用するには、regexとしではなく:
-
丸括弧 (^)、ピリオド (.)、開き括弧 ([)、ドル記号 ($)、開き括弧または閉じ括弧 (() または ())、パイプ (|)、アスタリスク (* )、プラス記号 (+)、クエスチョンマーク ( ? ) の場合。)、開波括弧({)、バックスラッシュ(\)の後にエスケープ演算子(˶)をつけます。 - 終括弧 (
]) または終波括弧 (}) の場合は、^の有無にかかわらず、それを最初の文字にします。 - ダッシュ(
-)の場合は、最初か最後の文字、または範囲の2番目の端点にする。
ヒント: ブラケットの中の文字は文字通り解釈されます。正規表演演算子ではありません。例えば、[*+?{}.] は、括弧内の文字のいずれかにマッチします。
文字列の先頭または末尾にマッチ (^ および$)
文字列の先頭または末尾のパターンにマッチさせるには、それぞれ演算子 ^ と $ を使う。例:
| 例 | 試合 |
|---|---|
^The |
Theで始まる文字列 |
絶望$の |
of despairで終わる全ての文字列 |
^abc$ |
abcで始まり、 で終わる文字列-正確なマッチ |
ヒント: ^ または$ のどちらも使用されていない場合、パターンは 指定された文字を含む文字列にマッチします。例えば、notice-with no^または$-は、noticeを含む文字列を返します。
マッチする文字 (*,+, および?)
特定の文字に基づいてパターンをマッチさせるには、その文字の後に演算子* 、+ 、または? をつけます。これらの演算子は、その文字がマッチする回数を示します。それぞれ、0回以上、1回以上、1回または0回です。例:
| 例 | 試合 |
|---|---|
ab* |
a を含む文字列で、その後にゼロ個以上のbs-ac,abc, またはabbc が続くもの。 |
ab+ |
a を含み、その後に 1 つ以上のbs-abc またはabbc を含むが、acを含まない文字列。 |
ab? |
a を含む文字列で、その後に 0 個または 1 個のbs-ac またはabc を含むが、acを含まない文字列。 |
a?b+$ |
1 つ以上のbで終わる文字列で、先行するaの有無は問いません ; 例えば、ab,abb,b, またはbbであるもののし aabまたはaabbではありません。 |
マッチする文字の頻度 ({...} または(...))
ある1文字の出現頻度に基づいてパターンをマッチさせるには、その文字の後に、中括弧 ({...}) でくくった出現数または出現範囲を続ける。例:
| 例 | 試合 |
|---|---|
アブ{2} |
aを含み、その後にちょうど 2bs-abb が続く文字列 |
ab{2,} |
aを含む文字列で、その後に少なくとも2つのbs-abb、abbbなどが続きます。 |
ab{3,5} |
aを含む文字列で、その後に3~5個のbs-abbb,abbbb, またはabbbbを含む文字列。 |
ヒント: 常に、幅の最初の数字を特定します—{0,2}であり、 {,2}ではありません。{0,},{1,}、または{0,1}という幅の代わりに、それぞれ*,+, または?という演算子を使うことができます。
文字列の出現頻度に基づいてパターンをマッチさせるには、括弧で囲みます ((...))。例えば、a(bc){1,5} は、a を含み、その後にbc が1つから5つ続く文字列にマッチします。
複数のパターンのいずれかにマッチ (|)
thisまたはthatのように、複数のパターンのいずれかにマッチさせるには、OR演算子|を使います。例:
| 例 | 試合 |
|---|---|
こんにちは |
hi またはhello を含む文字列。 |
(b|cd)ef |
befまたはcdefのいずれかを含む文字列 |
(a|b)*c |
asとbsが交互に続き、cで終わる文字列。 |
任意の文字にマッチ (.)
マッチするパターン内の任意の文字を表すには、ワイルドカード演算子.. 例:
| 例 | 試合 |
|---|---|
a.[0-9] |
a を含む文字列で、その後に任意の文字と数字が続く。 |
^.{3}$ |
ちょうど3文字の文字列 |
一致する文字の位置 ([...])
文字の位置に基づいてパターンをマッチさせるには、括弧 ([...]) を使う。例:
| 例 | 試合 |
|---|---|
[ab] |
a またはb のいずれかを含む文字列 ;a|b と等価。 |
[a-d] |
小文字を含む文字列 |
^[a-zA-Z] |
大文字・小文字に関係なく、任意のレターで始まる文字列。 |
[0-9]% |
任意の1桁の数字の後にパーセンテージ記号を含む文字列。 |
a-zA-Z0-9]$ |
コンマの後に任意の文字が続く文字列。 |
注: 括弧内の文字はすべて文字通りに解釈され、 正規表現演算子としては解釈されません。例えば、[*+?{}.] は、括弧内の文字のいずれかにマッチします。
不要な文字 ([^...]) に一致させる
文字を含まないパターンにマッチさせるには、 ^演算子で文字列を開始し、括弧でくくります。例えば、%[^a-zA-z]% は、2つのパーセンテージ記号の間に文字以外の文字を含む文字列にマッチする。