Chain Builder では、正規表現(regex)演算子を使用して、テキスト文字列の文字をマッチさせることができます:
- データ準備のためのマッピング変換ルール コネクタ パイプライン
- ファイルユーティリティ コネクタ'sFind,Find and replace, andSplit file コマンド
- 表形式変換 コネクタ's列フィルタ,フィルタ行,検索と置換,列の結合, およびスマートフィルタ行 コマンド
一般的な演算子
マッチするパターンを定義するには、これらの一般的な演算子を使うことができる:
演算子 | 説明 | 例 | リターン |
---|---|---|---|
^ |
文字列の先頭にマッチする | ^abc |
abc ,abcdef... ,abc123 |
$ |
文字列の末尾にマッチする | ABC$ |
my:abc ,123abc ,theabc |
. |
ワイルドカードとして任意の文字にマッチ | a.c |
abc ,asc ,a123c |
| |
OR文字 | abc|xyz |
abc またはxyz |
(...) |
括弧内の値をキャプチャ | (a)b(c) |
a andc |
[...] |
括弧内にマッチするもの | [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,}. |
アブカブカブカ |
* |
の代わりに何でもマッチする。 | ab*c |
abc ,abbcc ,abcdc |
+ |
の前の文字に1回以上マッチする。 | a+c |
ac ,aac ,aaac |
? |
の前の文字に0回または1回マッチする。 | ab? |
ac ,abc |
/ |
の後の文字をエスケープするか、エスケープシーケンスを作成する。 | a/bc |
a c 、スペースは/b と一致する。 |
パターン内で演算子のリテラル文字を使用するには、regexとして :
- 丸括弧 (
^
)、ピリオド (.
)、開括弧 ([
)、ドル記号 ($
)、開括弧または閉括弧 ((
) または ()
)、パイプ (|
)、アスタリスク (*
)、プラス記号 (+
)、疑問符 (?
)、開波括弧({
)、バックスラッシュ(\
)の後にエスケープ演算子(˶
)をつけます。 - 終括弧 (
]
) または終波括弧 (}
) の場合は、^
の有無にかかわらず、それを最初の文字にします。 - ダッシュ(
-
)の場合は、最初か最後の文字、または範囲の2番目の端点にする。
ヒント 正規表現演算子ではありません。例えば、[*+?{}.]
は、括弧内のリテラル文字のいずれかにマッチする。
文字列の先頭または末尾にマッチ (^
および$
)
文字列の先頭または末尾のパターンにマッチさせるには、それぞれ演算子 ^ と $ を使う。例:
例 | 試合 |
---|---|
その |
で始まる文字列 |
絶望$の |
of despairで終わるあらゆる文字列 |
^abc$ |
abc で始まり、 で終わる文字列 - 完全一致 |
ヒント: ^
または$
のどちらも使用されていない場合、パターンはに指定された文字 を含む文字列にマッチします。例えば、notice
-with no^
or$
-return any string that includesnotice
.
マッチする文字 (*
,+
, and?
)
特定の文字に基づいてパターンをマッチさせるには、*
、+
、または?
という演算子で文字を続けます。これらの演算子は、その文字がマッチする回数を示します。それぞれ、0回以上、1回以上、1回または0回です。例:
例 | 試合 |
---|---|
ab* |
a を含み、その後にゼロ個以上のb s-ac ,abc , またはabbc が続く文字列。 |
ab+ |
a を含み、その後に 1 つ以上のb s-abc またはabbc を含むが、 ac を含まない文字列。 |
どうだ? |
a を含み、その後にゼロまたは 1b s-ac またはabc を含むが、 abc を含まない文字列。 |
a?b+$ |
1 つ以上のb で終わる文字列で、先行するa の有無は問わない ; 例えば、ab ,abb ,b , またはbb , しかしではなく aab またはaabb。 |
マッチする文字の頻度 ({...}
または(...)
)
ある1文字の出現頻度に基づいてパターンをマッチさせるには、その文字の後に、中括弧 ({...}
) でくくった出現回数または出現範囲を続ける。例:
例 | 試合 |
---|---|
ab{2} |
a を含み、その後にちょうど 2b s-abb が続く文字列。 |
ab{2,} |
a を含み、その後に少なくとも2つのb s-abb 、abbbb などが続く文字列。 |
ab{3,5} |
a を含み、その後に3~5個のb s-abbb ,abbbb , またはabbbb を含む文字列。 |
ヒント{0,2}
, {,2}
ではありません。{0,}
,{1,}
, または{0,1}
の代わりに、それぞれ*
,+
, または?
, という演算子を使うことができる。
To match a pattern based on how often asequence of characters occurs, wrap it in parentheses ((...)
). 例えば、a(bc){1,5}
は、a
を含み、bc
のインスタンスが 1 つから 5 つ続く文字列にマッチします。
複数のパターンのいずれかにマッチ (|
)
this
ORthat
のように、複数のパターンからひとつにマッチさせるには、OR演算子|
を使う。例:
例 | 試合 |
---|---|
こんにちは |
hi またはhello を含む文字列。 |
(b|cd)ef |
bef またはcdef のいずれかを含む文字列。 |
(a|b)*c |
a sとb sが交互に続き、cで終わる文字列。 |
任意の文字にマッチ (.
)
マッチするパターン内の任意の文字を表すには、ワイルドカード演算子. 例:
例 | 試合 |
---|---|
a.[0-9] |
a を含み、その後に任意の文字と数字が続く文字列。 |
^.{3}$ |
ちょうど3文字の文字列 |
一致する文字の位置 ([...]
)
文字の位置に基づいてパターンをマッチさせるには、括弧 ([...]
) を使う。例:
例 | 試合 |
---|---|
[ab] |
|
[a-d] |
小文字を含む文字列 |
^[a-zA-Z] |
大文字小文字に関係なく、任意の文字で始まる文字列 |
[0-9]% |
任意の1桁の数字の後にパーセント記号を続けた文字列 |
a-zA-Z0-9]$. |
コンマの後に任意の文字が続く文字列 |
注: 括弧内の文字はすべて文字通りに解釈され、 正規表現演算子としては解釈されない。例えば、[*+?{}.]
は、括弧内のリテラル文字のいずれかにマッチする。
不要な文字 ([^...]) に一致させる
文字を含まないパターンにマッチさせるには、 ^演算子でシーケンスを開始し、括弧で囲む。例えば、%[^a-zA-z]%
は、2つのパーセント記号の間に文字以外の文字を含む文字列にマッチする。