Affinityで正規表現を使用

Affinityは正規表現の使用をサポートしており、指定されたパターンに一致するドキュメントのコンテンツを検索することができます。

正規表現はAffinityのいくつかのコンテキストで使用されています:

正規表現の記述には、テキスト内で検索したいパターンを指定するための特別な構文を必要とします。以下に示すシナリオと式の例は、独自の式を書く際に必要となる一般的な構文を示しています。

正規表現の全機能に関する包括的なガイドは、Affinity Helpの範囲を超えています。www.regular-expressions.inforegexone.comなどのオンラインリソースで詳しく学ぶことができます。

ケース感度

式が文字と一致する場合、式で明示的に指定しない限り、ステートパネルでは大文字と小文字が区別されます。検索ボックスの大文字と小文字を区別する書式設定オプションが有効になっている場合、検索と置換パネルでは大文字と小文字が区別されます。

各パネルでは、式の一部または全部について大文字と小文字の区別を上書きできます。

正規表現の例

2つの単語のいずれかの後に特定の単語が続くレイヤー名

Affinity Photoのドキュメントでは、レタッチツールを使用して、写真の上のレイヤーにペイントすることで、写真からホコリやシミを除去しています。

その結果、これらの各レイヤーはホコリ除去またはシミ除去という名前が付けられます。

ステートパネルでは、レイヤー名が正規表現 (?i)(Dust|Blemish) removal に一致するかを確認するクエリを追加できます。これは、Dust または Blemish のいずれかの後にスペースが1つと、その後に「removal」が続くことを意味しています。大文字と小文字は、式全体では無視されます。

任意の位置と順序で2つの単語を含むレイヤー名

Affinity Designerのドキュメントで、レイヤー名のオフセット塗りつぶしを使用して、手動で位置を変更して手作りの印刷ミス効果を作成したレイヤーを識別します。

場所によってはこれらの単語を逆の順序で入力した可能性があります。

ステートパネルに、レイヤー名が正規表現(?i)(?=.*offset)(?=.*fill).*$に一致するかどうかをチェックするクエリを追加できます。両方の単語がレイヤー名の中にそれぞれ現れる場合に、そのレイヤー名が条件に一致します。大文字と小文字は、式全体では無視されます。

特定の命名規則に従ったレイヤー名

CAD建築設計のAffinity Designerドキュメントでは、レイヤー名は2文字の接頭辞、1つ以上のアンダースコア、いくつかの数字のグループによって建築コンポーネントを識別します。例えば、Ss-35_10_15

ステートパネル上で、[Ss][Ss](_[0-9]{1,})+のような式を使用して、特定のコンポーネントカテゴリーに属するレイヤーの可視性を制御できます。この式は、接頭辞の大文字小文字を間違えた場合でも機能します。

逆に、式の先頭付近をわずかに変更することで、すべての他のコンポーネントカテゴリーのレイヤーの可視性を制御できるため、(^[Ss][Ss])(_[0-9]{1,})+となります。

特定の単語が先行する場合を除いて、ドキュメントテキストにおける単語のインスタンス。

Affinity Publisherドキュメントでは、テキスト全体で単語のインスタンスを検索しますが、特定の単語の前にあるインスタンスは省略します。

検索と置換パネルで、検索ボックスの書式設定オプションで正規表現を選択した場合、(?>!proin )aliquamという式を使用できます。その結果には、aliquamのインスタンスが、proinとスペースで始まるものを除いて含まれます。

先行する複数の単語のいずれかを含むインスタンスを除外することができます。例えば、errorの前に冠詞「the」または「an」が付いているインスタンスを除外するには、(?>!(the|an) )errorという式を使用します。

関連項目: