Affinityは正規表現の使用をサポートしており、指定されたパターンに一致するドキュメントのコンテンツを検索することができます。
正規表現はAffinityのいくつかのコンテキストで使用されています:
正規表現の記述には、テキスト内で検索したいパターンを指定するための特別な構文を必要とします。以下に示すシナリオと式の例は、独自の式を書く際に必要となる一般的な構文を示しています。
正規表現の全機能に関する包括的なガイドは、Affinity Helpの範囲を超えています。www.regular-expressions.info、regexone.comなどのオンラインリソースで詳しく学ぶことができます。
式が文字と一致する場合、式で明示的に指定しない限り、ステートパネルでは大文字と小文字が区別されます。検索ボックスの大文字と小文字を区別する書式設定オプションが有効になっている場合、検索と置換パネルでは大文字と小文字が区別されます。
各パネルでは、式の一部または全部について大文字と小文字の区別を上書きできます。
文字クラスを使用すると、式内の特定の文字の大文字小文字を無視できます。例えば、どちらの場合も、アルファベットのaに一致させるには、式で、[aA]を使用します。
文字クラスは、文字の範囲を一致させる場合にも使用できます。例えば、[a-eA-E]は、大文字小文字の区別に関係なく、aからeまでの個々の文字に一致します。
Affinity Photoのドキュメントでは、レタッチツールを使用して、写真の上のレイヤーにペイントすることで、写真からホコリやシミを除去しています。
その結果、これらの各レイヤーはホコリ除去またはシミ除去という名前が付けられます。
ステートパネルでは、レイヤー名が正規表現 (?i)(Dust|Blemish) removal に一致するかを確認するクエリを追加できます。これは、Dust または Blemish のいずれかの後にスペースが1つと、その後に「removal」が続くことを意味しています。大文字と小文字は、式全体では無視されます。
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という式を使用します。