この付録は、「ICU User Guide」からの抜粋です。この付録では、ICU 正規表現の実装の詳細について説明します。正規表現の実装方法はプログラミング言語によって多少異なるため、Agent Builder の正規表現機能を使用する場合にはこの情報は重要です。
文字 | 説明 |
---|---|
¥a | ベル (¥u0007) に一致します。 |
¥A | 入力の先頭に一致します。¥A は入力内の改行の後とは一致しないため、^ とは異なります。 |
¥b ([Set] 外部) | 現行位置がワード境界の場合に一致します。 境界は、ワード (¥w) と非ワード (¥W) 文字の間の遷移で発生します。結合マークは無視されます。ワード境界について詳しくは、『ICU Boundary Analysis』を参照してください。 |
¥b ([Set] 内部) | バックスペース文字 (¥u0008) に一致します。 |
¥B | 現行位置がワード境界以外の場合に一致します。 |
¥cX | control-X 文字に一致します。 |
¥d | Unicode 汎用カテゴリー Nd (Number, Decimal Digit) の任意の文字に一致します。 |
¥D | 数字以外のすべての文字に一致します。 |
¥e | エスケープ (¥u001B) に一致します。 |
¥E | 引用符で囲まれたシーケンスの終わりです (¥Q ... ¥E)。 |
¥f | 改ページ文字 (¥u000C) に一致します。 |
¥G | 現行位置が前回の一致の終わりである場合に一致します。 |
¥n | 改行文字 (¥u000A) に一致します。 |
¥N{UNICODE CHARACTER NAME} | 指定された文字に一致します。 |
¥p{UNICODE PROPERTY NAME} | 指定された Unicode プロパティーを持つ任意の文字に一致します。 |
¥P{UNICODE PROPERTY NAME} | 指定された Unicode プロパティーを持たない任意の文字に一致します。 |
¥Q | この文字から ¥E までの間のすべての文字を引用符で囲みます。 |
¥r | 復帰文字 (¥u000D) に一致します。 |
¥s | 空白文字に一致します。空白文字は [¥t¥n¥f¥r¥p{Z}] として定義されます。 |
¥S | 空白文字以外の文字に一致します。 |
¥t | 水平タブ (¥u0009) に一致します。 |
¥uhhhh | 16 進数値 hhhh で表される文字に一致します。 |
¥Uhhhhhhhh | 16 進数値 hhhhhhhh で表される文字に一致します。最大 Unicode コード・ポイントは ¥U0010ffff ですが、8 桁の 16 進数値を正確に指定する必要があります。 |
¥w | 単語構成文字に一致します。単語構成文字は [¥p{Ll}¥p{Lu}¥p{Lt}¥p{Lo}¥p{Nd}] です。 |
¥W | 非単語構成文字に一致します。 |
¥x{hhhh} | 16 進数値 hhhh で表される文字に一致します。1 から 6 桁の 16 進数値を指定できます。 |
¥xhh | 2 桁の 16 進数値で表される文字に一致します。 |
¥X | 書記素クラスターに一致します。 |
¥Z¥ | 現行位置が入力の終わりである場合 (最終行末文字がある場合はさらに最終行末文字より前にある場合) に一致します。 |
¥z | 現行位置が入力の終わりである場合に一致します。 |
¥n | 後方参照。n 番目の捕捉グループに一致する内容に一致します。n は 1 よりも大きく、パターン内の捕捉グループの総数よりも小さい値でなければなりません。
注:
ICU の正規表現では、8 進数のエスケープ文字 (¥012 など) はサポートされていません。 |
[pattern] | セットの中の任意の 1 文字に一致します。パターンに使用できる文字についての詳細は、UnicodeSet を参照してください。 |
. | 任意の文字に一致します。 |
^ | 行の先頭に一致します。 |
$ | 行の末尾に一致します。 |
\ | この後に続く文字を引用符で囲みます。 リテラルとして扱われるために引用符で囲む必要がある文字は、* ? + [ ( ) { } ^ $ | ¥ です。/ |
演算子 | 説明 |
---|---|
| | 選択演算子。A|B は、A または B のいずれかに一致します。 |
* | 0 回以上の繰り返しに一致します。最多一致。 |
+ | 1 回以上の繰り返しに一致します。最多一致。 |
? | 0 回または 1 回の繰り返しに一致します。1 回が優先されます。 |
{n} | 正確に n 回の繰り返しに一致します。 |
{n,} | n 回以上の繰り返しに一致します。最多一致。 |
{n,m} | n 回から m 回の繰り返しに一致します。最多一致 (最大 m 回)。 |
*? | 0 回以上の繰り返しに一致します。最少一致。 |
+? | 1 回以上の繰り返しに一致します。最少一致。 |
?? | 0 回または 1 回の繰り返しに一致します。0 回が優先されます。 |
{n}? | 正確に n 回の繰り返しに一致します。 |
{n,}? | n 回から、パターン全体の一致に必要な回数までの繰り返しに一致します。 |
{n,m}? | n 回から m 回の繰り返しに一致します。最少一致 (最小 n 回)。 |
*+ | 0 回以上の繰り返しに一致します。1 番目の繰り返しが検出された時点での最多一致です。全体的な一致が失敗した場合でも、少ない数で再試行しないでください (所有的一致)。 |
++ | 1 回以上の繰り返しに一致します。所有的一致。 |
?+ | 0 回または 1 回の繰り返しに一致します。所有的一致。 |
{n}+ | 正確に n 回の繰り返しに一致します。 |
{n,}+ | n 回以上の繰り返しに一致します。所有的一致。 |
{n,m}+ | n 回から m 回の繰り返しに一致します。所有的一致。 |
( ... ) | 捕捉括弧。この一致の後、括弧内の副次式に一致する範囲の入力が使用可能になります。 |
(?: ... ) | 非捕捉括弧。組み込まれているパターンをグループ化しますが、一致テキストの捕捉は行われません。捕捉括弧よりも効率的です。 |
(?> ... ) | アトミック・グループを囲む括弧。括弧内の副次式との最初の一致のみが試行されます。全体的なパターン一致にならない場合は、「(?>」の前の位置との一致の検索がバックアップされます。 |
(?# ... ) | 自由形式のコメント (?# comment )。 |
(?= ... ) | 先読みアサーション。括弧内のパターンが現行の入力位置に一致するが、入力位置が先に進まない場合は true です。 |
(?! ... ) | 否定先読みアサーション。括弧内のパターンが現行の入力位置に一致しない場合は true です。入力位置が先に進みません。 |
(?<= ... ) | 後読みアサーション。括弧内のパターンが、現行入力位置より前のテキストに一致し、かつ一致するテキストの最終文字が、現行位置の直前の入力文字である場合は true です。入力位置は変更されません。後読みパターンに一致するストリングの長さは、アンバインドされていてはなりません (* または + 演算子なし)。 |
(?<!...) | 否定後読みアサーション。括弧内のパターンが、現行入力位置より前のテキストに一致せず、かつ一致するテキストの最終文字が、現行位置の直前の入力文字の場合は true です。入力位置は変更されません。後読みパターンに一致するストリングの長さは、アンバインドされていてはなりません (* または + 演算子なし)。 |
(?ismx-ismx: ... ) | フラグ設定。括弧で囲んだ式と指定されたフラグ (有効または無効) が評価されます。 |
(?ismx-ismx) | フラグ設定。フラグ設定を変更します。変更は、この設定の後に続くパターンの部分に適用されます。例えば (?i) は大/小文字を区別しない一致に変更されます。 |