Usar expressões regulares no Affinity

O Affinity oferece suporte ao uso de expressões regulares para localizar conteúdo de documento que corresponda a padrões especificados.

Expressões regulares são usadas em vários contextos no Affinity:

Escrever expressões regulares envolve sintaxe especial para especificar os padrões que você deseja encontrar no texto. Os cenários e expressões de exemplo fornecidos abaixo demonstram a sintaxe comum que você provavelmente precisará usar para escrever suas próprias expressões.

Um guia completo sobre todo o poder das expressões regulares está além do escopo da Ajuda do Affinity. Você pode aprender mais com recursos on-line, como www.regular-expressions.info e regexone.com.

Diferenciação de maiúsculas e minúsculas

Quando uma expressão busca letras, o painel Estados diferencia maiúsculas de minúsculas, a menos que você indique o contrário explicitamente na expressão. O painel Localizar e substituir diferencia maiúsculas de minúsculas quando a caixa Localizar da opção de formatação Diferenciar maiúsculas/minúsculas está ativada.

Em cada painel, a distinção entre maiúsculas e minúsculas pode ser substituída para parte ou toda uma expressão:

Exemplos de expressões regulares

Nomes de camadas contendo alguma de duas palavras seguida por uma palavra específica

Em um documento do Affinity Photo, usamos ferramentas de retoque para remover poeira e manchas de uma foto pintando nas camadas acima dela.

Assim, cada uma dessas camadas é denominada Remoção de poeira ou Remoção de manchas.

No painel Estados, podemos adicionar uma consulta que verifica se os nomes das camadas correspondem à expressão regular (?i)(Poeira|Mancha) remoção, significando tanto Poeira ou Mancha, seguido por um espaço e depois por 'remoção'. A distinção entre letras maiúsculas e minúsculas é ignorada em toda a expressão.

Nomes de camadas contendo duas palavras em qualquer posição e ordem

Em um documento do Affinity Designer, usamos o nome da camada preenchimento de deslocamento para identificar camadas que foram reposicionadas manualmente para criar um efeito de impressão incorreta feito à mão.

É possível que tenhamos digitado essas palavras na ordem inversa em alguns lugares.

No painel Estados, podemos adicionar uma consulta que verifica se os nomes das camadas correspondem à expressão regular (?i)(?=.*preenchimento)(?=.*deslocamento).*$. Isso corresponde aos nomes das camadas que contêm ambas as palavras onde quer que elas ocorram no nome. A distinção entre letras maiúsculas e minúsculas é ignorada em toda a expressão.

Nomes de camadas que seguem uma convenção de nomenclatura específica

Em um documento do Affinity Designer para um projeto arquitetônico CAD, os nomes das camadas identificam os componentes da construção com um prefixo de duas letras, seguido por um ou mais grupos de um sublinhado seguido por alguns dígitos. Por exemplo, Ss-35_10_15.

No painel Estados, podemos controlar a visibilidade das camadas que pertencem a uma determinada categoria de componente usando uma expressão como [Ss][Ss](_[0-9]{1,})+. A expressão funcionará mesmo se a letra do prefixo tiver sido digitada incorretamente com maiúscula ou minúscula.

Por outro lado, podemos controlar a visibilidade de todas as outras camadas de categorias de componentes com uma pequena alteração perto do início da expressão, para que ela se torne (^[Ss][Ss])(_[0-9]{1,})+.

Ocorrências de uma palavra no texto do documento, exceto quando precedida por uma palavra específica.

Em um documento do Affinity Publisher, queremos encontrar ocorrências de uma palavra em todo o texto, mas omitir instâncias precedidas por uma palavra específica.

No painel Localizar e substituir, com Expressão regular selecionado nas opções de Formatação da caixa Localizar, podemos usar a expressão (?>!proin )aliquam. Os resultados incluirão casos de aliquam exceto aqueles precedidos por proin e um espaço.

É possível excluir ocorrências que contenham uma de várias palavras anteriores. Por exemplo, para excluir casos em que a palavra erro é precedida pelo artigo 'o' ou 'um', use a expressão (?>!(o|um) )erro.

CONSULTE TAMBÉM: