Como começar a usar Regex com o aplicativo Shortcuts

Ao longo do último mês ou assim, estive cobrindo os aplicativos Shortcuts e Automator no iOS e macOS, respectivamente. Ambos são potências quando se trata de automação no ecossistema da Apple e, começando com o macOS Monterey neste outono, o Shortcuts será o aplicativo de automação ideal em todos os dispositivos da Apple. É por isso que eu gostaria de passar este artigo discutindo um tópico muito poderoso: Usando regex com o aplicativo Shortcuts.

Embora eu tenha algum conhecimento em ciência da computação e programação, de alguma forma nunca tinha me encontrado com regex. Talvez o nome tenha me assustado, ou talvez tenha sido o código, que é um dos códigos menos legíveis que eu já vi.

Seja qual for o caso, decidi examinar mais a fundo o regex depois de cobrir o aplicativo Shortcuts nos últimos meses. E o que descobri foi que muitas das limitações que encontrei com os Shortcuts, assim como com o Automator, podiam ser superadas com regex.

Em outras palavras, não era que faltasse recursos nesses aplicativos, mas sim eu faltava educação.

Então, na postagem de hoje, você e eu aprenderemos os prós e os contras do regex juntos. Dessa forma, você pode obter o máximo de cada um desses aplicativos.

Vamos cobrir o básico do regex (começando com o que é), o que você pode fazer com ele no aplicativo Shortcuts, alguns sites e recursos que você pode usar se não quiser aprender regex por conta própria, e então entraremos nos principais conceitos e mecanismos da regex língua.

Tudo bem, vamos começar!

Conteúdo

  • O que são expressões regulares (ou seja, regex)?
    • Coisas que você pode fazer com regex
  • Como você pode usar regex com o aplicativo Shortcuts?
  • Use regex101.com para testar suas expressões regulares
  • Se você não quiser aprender como usar regex com o aplicativo Shortcuts, leia isto
  • Regex para iniciantes: comece a usar regex com atalhos
    • O que são sabores regex?
    • Sites e referências para ajudá-lo a começar a aprender regex com atalhos
    • Como realizar uma pesquisa de texto básica usando regex com atalhos
    • Adicionar componentes variáveis ​​às pesquisas de regex
    • Ranges podem ampliar sua pesquisa
    • Como excluir palavras e caracteres de suas pesquisas regex com atalhos
    • Os curingas podem fornecer mais opções de pesquisa
    • Use quantificadores para especificar o comprimento do texto que você está procurando
    • Existem mais alguns quantificadores que você deseja saber sobre
    • Procure por caracteres no início e no final de uma string de texto
    • Armazene strings de texto usando a função de agrupamento de regex com atalhos
  • O que agora?
    • Como você quebraria isso?
  • Comece a usar regex com atalhos para levar sua automação para o próximo nível
    • Postagens relacionadas:

O que são expressões regulares (ou seja, regex)?

Uma expressão regular, ou “regex”, é um trecho de código que você pode usar para pesquisar um trecho de texto dentro de um trecho de texto maior.

Caso você não saiba, um trecho de texto dentro de outro trecho de texto é chamado de "string" na programação. Por exemplo, a palavra ‘verde’ é uma sequência de caracteres do texto “Hoje usei calças verdes”.

Colocado de outra forma, regex é uma maneira de localizar uma string de texto em um corpo de texto maior. E como o regex é escrito em código, você pode usá-lo para realizar algumas operações bastante complexas.

Por exemplo, se você deseja pesquisar a palavra “e-mail”, pode escrever facilmente um código regex que pesquisa e-mail.

Porém, se você quiser encontrar um e-mail que está dentro de um parágrafo e não sabe exatamente o que é esse e-mail, será necessário pesquisar uma string de texto formatada como um e-mail. ou seja, uma string que segue o “[email protegido]”Formato.

Agora, digamos que você não deseja apenas encontrar um e-mail de um parágrafo, mas cada o email. Talvez você queira copiá-los rapidamente em outro lugar, atualizá-los para um novo formato ou substituí-los para que todos digam “[email protegido]“.

Conforme você se torna cada vez mais proficiente e experiente com regex, será capaz de fazer todas essas coisas e muito mais.

Coisas que você pode fazer com regex

Tudo bem, então talvez os exemplos com e-mail que acabei de dar não sejam tão práticos. Não se preocupe - isso está longe de ser o limite do que você pode realizar usando regex com o aplicativo Shortcuts.

De um modo geral, tudo o que regex pode fazer se enquadra em uma destas quatro categorias:

  1. Encontre uma string de texto em um pedaço de texto maior (ou seja, procurando por uma palavra / string / tipo de string em uma página de texto).
  2. Confirme se uma string de texto corresponde ao formato desejado (ou seja, verifique se uma string de texto está em maiúscula / ordenada / pontuada corretamente).
  3. Substitua ou insira o texto em uma área específica de um trecho de texto.
  4. Divida uma string de texto em pontos específicos (por exemplo, divida um pedaço de texto sempre que houver uma vírgula).

O nível de profundidade que você pode usar para interagir com cada um desses tipos de funções e como você pode combiná-los tornam o regex uma ferramenta incrivelmente poderosa para analisar e manipular texto.

Como você pode usar regex com o aplicativo Shortcuts?

Tudo bem, então agora você tem uma ideia básica de para que o regex é usado. É um tipo de código que você pode usar para pesquisar um texto, mesmo que não saiba exatamente o que é o texto.

Então, como isso ajuda você nos atalhos? Semelhante a adicionar scripts aos seus atalhos, é uma maneira de sair das automações básicas (Me mande uma mensagem quando a porta da frente abrir) para opções mais avançadas (Criar automaticamente um evento de calendário para minhas reuniões sempre que recebo um e-mail do trabalho para uma reunião do Zoom).

Você pode usar regex com atalhos para verificar se uma entrada está correta. Por exemplo, se você criar um atalho que funciona apenas com URLs, poderá usar regex no início do Atalho para se certificar de que o usuário está executando a automação em um URL.

Você pode combinar regex com scripts para criar atalhos poderosos. Por exemplo, este atalho usa regex e script para transformar um código de barras em um URL para sua loja favorita.

Ao usar o aplicativo Shortcuts no Mac (no outono de 2021), você pode usar regex para executar ações em lote em um pedaço de texto. Por exemplo, você pode copiar todos os e-mails em uma seleção de texto como uma lista ordenada. Ou você pode substituir todos os nomes em um documento por caracteres “*” para garantir a privacidade.

Você pode até copiar um corpo de texto de um aplicativo, reformatá-lo para corresponder às preferências de outro aplicativo e, em seguida, colá-lo nesse outro aplicativo, tudo com um único clique com o botão direito.

Em outras palavras, regex oferece controle total sobre o tratamento de texto com o aplicativo Shortcuts. Isso pode não parecer muito útil no início, mas agora que você sabe que existe, certamente começará a notar quantos atalhos podem ser melhorados com esse recurso. E você também notará que muitos atalhos nem mesmo são possíveis sem regex.

Use regex101.com para testar suas expressões regulares

Depois de começar a usar regex com atalhos, você se deparará com um ponto de frustração:

É realmente difícil testar seu código regex. E isso não é exclusivo do regex. Testar qualquer coisa com o aplicativo Shortcuts é meio chato. A única maneira de fazer isso é executar o atalho. Esse método não é ruim quando você está apenas testando recursos de atalhos integrados.

Mas, para testar o código, isso não permite a verificação linha por linha e não oferece muito feedback.

Para isso, recomendo usar regex101.com. É um site no qual você pode digitar o código regex em tempo real. Você também pode digitar texto em um editor de texto na mesma página da web. Conforme você digita cada um, você verá se seu regex está funcionando, por que está ou não funcionando e obterá informações sobre as correspondências encontradas.

regex101.com está usando um tipo diferente de regex do que aquele suportado por Shortcuts (mais sobre isso em um minuto), mas é perto o suficiente para que você não tenha muitos problemas.

Usar essa ferramenta é ótimo porque você pode escrever seu regex primeiro e, em seguida, copiá-lo para o aplicativo Shortcuts assim que estiver funcionando conforme o esperado.

Se você não quiser aprender como usar regex com o aplicativo Shortcuts, leia isto

Eu entendo - nem todo mundo vai querer aprender como usar regex com atalhos. É uma habilidade, e isso significa que vai exigir tempo e prática. Está longe de ser tão simples quanto o resto dos recursos de arrastar e soltar do aplicativo Shortcuts.

Sem problemas! Embora você não consiga aproveitar o aplicativo Shortcuts tanto quanto alguém que dedica tempo para aprender regex, ainda há opções disponíveis para você. Ou seja, existem sites e páginas online onde as pessoas criaram uma lista de bits de código regex que você pode copiar e colar no aplicativo Shortcuts.

Aqui estão alguns links para você verificar se não quiser aprender regex:

  • https://www.shortcutfoo.com/app/dojos/regex/cheatsheet
  • https://www.reddit.com/r/shortcuts/comments/9zo24n/regex_cookbook_for_shortcuts_reusable_regex_to/
  • https://www.reddit.com/r/shortcuts/comments/b5labq/match_text_examples_for_the_beginner_a_regex/
  • http://www.rexegg.com/regex-cookbook.html

Basta ler esses links e você deverá encontrar soluções regex comuns para os atalhos que deseja criar. Esta não será uma opção gratuita para educação, pois ainda vai demorar um pouco para pegar o jeito do que você está vendo. Mas é muito mais simples e a solução ideal para quem não tem tempo para inserir no regex.

Dito isso, tenho que admitir que regex não é muito difícil de aprender, especialmente se você tem alguma experiência com código de shell ou programação para iniciantes. Regex soou como um jargão para mim no início, mas depois de uma hora lendo artigos e brincando com regex101.com, consegui começar a escrever regex para meus atalhos.

É apenas uma questão de familiaridade - depois de olhar por tempo suficiente, vai parar de parecer tão estranho. Então, se você tem tempo e está apenas intimidado, não fique!

Regex para iniciantes: comece a usar regex com atalhos

Tudo bem, prefácio suficiente! Você deve ter uma ideia do que é regex, o que pode fazer, por que deve aprendê-lo e informações suficientes para decidir se deseja aprendê-lo. Agora vamos entrar no âmago da questão.

Há muito conteúdo abaixo, mas não se preocupe! Este artigo será mais um guia de estudo. Recomendo dar uma olhada em cada seção para ter uma ideia da mecânica que o regex usa. Isso também deve ajudá-lo a compreender isso, se você ainda está confuso sobre o que é regex.

Depois de folhear as coisas, recomendo abrir regex101.com e brincar com cada uma das ferramentas em cada seção abaixo. Isso ajudará você a ver como os conceitos se parecem na prática, bem como a melhorar sua memória. Depois de fazer isso, você pode apenas tratar este artigo como um ponto de referência - algo ao qual você pode voltar quando esquecer os bits e bobs do regex.

Ok, vamos lá!

O que são sabores regex?

Primeiro, vamos olhar para os sabores regex. Não se preocupe - isso não afetará seu uso diário de regex com atalhos. É apenas algo a ter em conta antes de começar.

Existem diferentes versões de regex que são conhecidas como “sabores”. Essas diferentes versões ainda são muito semelhantes. Se você pode aprender a ler e escrever um sabor, você deve ser capaz de ler qualquer um deles. Haverá apenas pequenas diferenças em como seu código regex deve ser formatado.

Na programação, essas especificações de formatação são conhecidas como “sintaxe”. É apenas a maneira que você tem que escrever seu código para que ele seja compreendido pelo aplicativo em que você está escrevendo.

É por isso que a sintaxe é importante

"Ei amigo, como está o seu dia?"

“, Vai amigo? seu Ei dia como ”

Ambas as frases têm as mesmas palavras, caracteres e espaços. Porém, apenas um faz sentido, e isso porque segue a sintaxe convencional.

Na codificação, uma linguagem de programação pode entender a primeira versão, mas não a segunda. Para outra linguagem de programação, no entanto, a segunda pode fazer sentido total, enquanto a primeira parece um jargão. Para alguém que fala inglês, no entanto, você provavelmente pode entender a intenção de ambas as linhas, embora seja necessário um pouco de trabalho para entender o significado.

É (mais ou menos) assim que são os diferentes sabores de regex. Todos eles serão um pouco diferentes e um pouco semelhantes a você. Mas você deve estar usando o sabor certo para o aplicativo que está usando, ou então o aplicativo não terá ideia do que você escreveu.

O aplicativo Shortcuts entende o sabor ICU do regex, então esse é o sabor que você deseja usar. O site regex101.com tem alguns sabores diferentes que você pode escolher à esquerda da página. No entanto, ele usa o PCRE, que é bastante semelhante ao ICU.

É importante saber que existem diferentes sabores de regex porque, sem dúvida, você encontrará diferentes sabores online. Se você encontrar um pouco de regex que deseja roubar, mas não consegue fazê-lo funcionar com os atalhos, ou simplesmente não parece certo, verifique em qual sabor está escrito!

Sites e referências para ajudá-lo a começar a aprender regex com atalhos

Outra coisa que quero abordar antes de começarmos a explorar a mecânica real de escrever regex são os recursos. Não estou afirmando de forma alguma que esta postagem seja um recurso exaustivo sobre o aprendizado de regex. É apenas um ponto de partida útil para aqueles que desejam usar regex com atalhos.

Se quiser se aprofundar no regex ou sentir que este artigo não está fornecendo a ajuda de que você precisa, confira alguns destes artigos, guias e ferramentas:

  • https://regex101.com - Um site que permite que você teste seu código regex em tempo real.
  • https://www.shortcutfoo.com/app/dojos/regex/cheatsheet - Uma folha de dicas para quando você esquecer o que cada personagem faz
  • http://www.rexegg.com - Este site é um recurso abrangente para aprender tudo o que você precisa saber sobre regex. Verifique este se você deseja se tornar proficiente com regex.
  • https://scottwillsey.com/blog/ios/regex1/ - Esta é uma série de blog em quatro partes sobre o uso de regex com atalhos. Estou adotando uma abordagem muito diferente deste guia, portanto, ele deve ser uma boa série complementar a este artigo.
  • Stack Overflow e Reddit são bons sites para compartilhar suas perguntas e progresso de regex para obter conselhos e respostas.

Esses recursos são distintos daqueles listados no Se você não quiser aprender a usar regex com o aplicativo Shortcuts seção, pois todos eles exigirão que você realmente comece a aprender regex. Eles são mais abrangentes, enquanto os outros são apenas pontos de referência.

Como realizar uma pesquisa de texto básica usando regex com atalhos

Tudo bem! Agora chegamos ao ponto que todos estavam esperando: vamos aprender os fundamentos do uso de regex com atalhos.

Vamos começar com uma pesquisa básica, pois essa é a coisa mais simples que você pode fazer com regex. Como mencionado antes, recomendo abrir regex101.com em outra guia para que você possa acompanhar.

Basicamente, o regex irá pesquisar por (ou partida) tudo o que você digitar. Por exemplo, se eu fosse digitar Tudo bem como meu código regex, ele encontraria todas as ocorrências da palavra “Tudo bem” neste guia.

Caso, espaçamento e pontuação são importantes. Isso significa que Tudo bem, tudo bem, Tudo bem!, e Tudo bem , vão produzir resultados diferentes.

E é isso! Sempre que você digitar algo em uma pesquisa regex sem usar nenhum caractere especial, o regex corresponderá a qualquer coisa que corresponda exatamente ao que você digitou.

Existe um problema! Alguns caracteres do teclado também são caracteres regex especiais. Isso significa que eles executam algum tipo de função no código regex.

o ? símbolo é um desses personagens. É usado no código regex como um quantificador. Então, se você tentar pesquisar por “Tudo bem?” digitando Tudo bem? como seu código regex, você não obterá o que deseja.

Para corrigir isso, você deve especificar que deseja usar “?” como uma string, não como um caractere especial. Para fazer isso para este personagem ou qualquer outro, basta adicionar um \ símbolo imediatamente antes do caractere cujas propriedades especiais você deseja anular.

Então, se você quiser pesquisar por “Tudo bem?” com regex, seu código ficará assim:

Tudo bem\?

Se você não tem certeza se um caractere específico é tratado como um caractere especial pelo regex, você pode verificar esta folha de cola para todos os caracteres especiais no regex.

Pesquise mais de uma palavra usando o caractere “ou”

Outro componente importante da pesquisa de strings com regex é o uso da função “ou”. Este é um caractere que você pode colocar entre duas palavras / caracteres para dizer: “Combine isso ou aquilo”.

Por exemplo, se eu quiser pesquisar um corpo de texto pela palavra "certo" e "Tudo bem", eu usaria o | personagem. Igual a:

Certo | Certo

Se você está tendo dificuldade em encontrar o | personagem, segure o mudança tecla para baixo e pressione o \ chave. Está acima do Retorna na maioria dos teclados.

Adicionar componentes variáveis ​​às pesquisas de regex

Ok, agora que você sabe como é o regex neutro, é hora de escolher seu primeiro caractere especial. Esses seriam os colchetes, que são essas coisas [].

Tudo o que você colocar dentro desses colchetes será considerado um componente variável de sua pesquisa regex. Você pode colocar quantos caracteres entre colchetes desejar, embora apenas um seja válido por correspondência.

Tudo bem, isso parece um pouco complicado, mas não é! Isso é o que parece na prática:

  • [Tudo bem irá apenas corresponder à palavra “Tudo bem”. Meio sem sentido.
  • [AB] certo corresponderá a “Alright” e “Blright”.
  • Alr [iouxyz] ght corresponderá a “Tudo bem”, “Alroght”, “Tudo bem”, “Tudo bem” e assim por diante.

Você pode combinar caracteres entre colchetes, bem como usar vários colchetes na mesma linha de regex. [AB] r [i1] gh [tuvwxyz] é uma parte válida do regex. Felizmente, porém, não parece tão caótico como poderia estar alguns minutos atrás!

Ranges podem ampliar sua pesquisa

O próximo bit de regex que será útil com os atalhos é o intervalo. Os intervalos permitem que você especifique um intervalo de caracteres que você aceitará.

Na seção anterior, você deve ter notado que meus colchetes incluíam muitas letras consecutivas. O mais longo foi [tuvwxyz]. Essas letras aparecem no alfabeto na mesma ordem, uma ao lado da outra.

Isso significa que eu poderia usar um intervalo em vez de digitá-los. Isso ficaria assim:

Tudo bem [t-z]

Este pedaço de código regex fará a mesma coisa que Tudo bem [tuvwxyz]. É simplesmente mais puro e fácil de escrever.

Você pode substituir esse mesmo intervalo por [a-z] se você quiser que ele aceite qualquer letra minúscula do alfabeto. Ou você pode usar [0-9] se você quiser aceitar qualquer número de um único dígito.

Você também pode combinar intervalos dentro do mesmo colchete. Por exemplo, este Alr [i-ux-z] ght aceitará "Tudo bem", "Alroght", "Tudo bem" e "Tudo bem", mas não aceitará "Tudo bem" ou "Tudo bem".

Existem outras variações da palavra "Tudo bem" que este código aceita, aliás, e muitas outras que não. Essa é apenas uma pequena seleção para manter as coisas, bem, curtas.

Se você está tendo dificuldade em entender o que [i-ux-z] significa que pode ser útil ver escrito assim:

[i-u, x-z]

Essa não é a sintaxe regex correta - você não deve usar uma vírgula para separar os intervalos. Mas espero que isso ajude a fazer mais sentido!

Você não precisa de vírgulas no regex para separar intervalos e não precisa colocar intervalos um ao lado do outro. Você poderia mudar para [i-uabcx-z]. Isso aceitaria os mesmos intervalos de antes, mais os caracteres “a”, “b” e “c”.

Como excluir palavras e caracteres de suas pesquisas regex com atalhos

Ok, agora estamos chegando a algum lugar! Se você seguiu este artigo até este ponto, deve ser capaz de olhar o código abaixo e entender a que ele corresponde:

Ap [p-r] le [Tt] ool [BbLF] ox

Se você pode ler, então você sabe que parte do código regex inclui bastante de possíveis variações da palavra “AppleToolBox”. E se quiséssemos reduzir o número de variações que ele aceita sem alterar nosso intervalo?

É aí que entra o caractere "não". Se parece com isso: ^. Se você está tendo dificuldade em encontrá-lo no teclado (como eu), segure mudança e pressione o 6 chave no seu teclado.

Para usar o ^ caractere, coloque-o no início do caractere que deseja excluir.

Existe um problema! o ^ caractere não funciona fora de uma função regex. Você não pode simplesmente colocá-lo na frente da letra "A" para que ele exclua essa letra de sua pesquisa. O código regex ^ A irá apenas pesquisar por um “A” maiúsculo.

Em vez disso, combine-o com colchetes e outros caracteres especiais regex.

Por exemplo, se eu quisesse pesquisar qualquer instância da palavra "Tudo bem" que não comece com a letra "A", eu usaria o código [^ A] certo.

Você pode até combiná-lo com intervalos! Basta colocá-lo no início do seu colchete, e qualquer coisa dentro desse colchete, intervalos incluídos, será excluído da sua pesquisa. Igual a:

E se você quiser excluir uma palavra específica de sua pesquisa?

Tive dificuldade em encontrar essa informação. Um usuário do Stack Overflow tinha a solução, porém, e se parecia com isto:

^ (?! (palavra) $). + $

Apenas substitua palavra com qualquer palavra que você deseja excluir de sua pesquisa. Igual a:

Você pode ler aquela postagem do Stack Overflow aqui se você quiser saber mais sobre este caso de uso específico.

Os curingas podem fornecer mais opções de pesquisa

Isso nos leva aos curingas. O caractere curinga, que é um ponto ., é usado para representar qualquer caractere único, sem compasso. Se você apenas digitar . como seu código regex com atalhos, ele retornará cada caractere em um corpo de texto como uma correspondência individual.

Eu não recomendaria usá-lo para essa finalidade, é claro! Em vez disso, recomendo usá-lo no lugar de um único caractere em uma palavra. Por exemplo, Tudo bem corresponderá a “Tudo bem”, “Tudo bem”, “Tudo bem

E é isso mesmo! O caractere curinga é muito fácil de entender. Combina com tudo! Isso o torna útil para localizar strings que correspondam a um formato específico, embora tenham caracteres exclusivos.

Os e-mails, por exemplo, serão todos muito semelhantes, mas não serão os mesmos. O curinga pode ajudá-lo a combinar elementos que você sabe que estarão lá (como “.com” e “@”) com caracteres que você não conhece (como “meu_email567”, iCloud ou “Gmail”).

Outro caso de uso interessante é usar o . caractere para encontrar strings de um comprimento específico.

Por exemplo, se eu quiser encontrar cada string de quatro caracteres em um corpo de texto, posso usar ... com um espaço de cada lado.

E aqui estão todas as sequências de sete caracteres no mesmo corpo de texto:

Observe que este não é um método perfeito para encontrar cordas de um determinado comprimento. Como você pode ver nos exemplos acima, algumas strings são correspondidas que não deveriam ser, e algumas que deveriam ter sido ignoradas. É interessante lembrar que você pode usar o . personagem para contar personagens.

Além disso, tenha em mente que o . é um caractere especial no regex. Isso significa que você precisará adicionar um \ na frente dele, se você quiser pesquisar por pontos. Isso significa que você teria que usar Tudo bem\. para corresponder a "Tudo bem."

Use quantificadores para especificar o comprimento do texto que você está procurando

Tudo bem, então você pode usar tecnicamente o . caractere para encontrar uma string que ocupa um número específico de caracteres. Na maioria das vezes, porém, você desejará ser mais específico.

É aí que entram os quantificadores. Os quantificadores permitem que você especifique o comprimento da string que está procurando ao usar regex com atalhos.

Por exemplo, digamos que você queira encontrar qualquer palavra que tenha especificamente três letras. Para especificar isso, você deve usar estes colchetes:

{}

Quando você coloca esses colchetes após estes [] colchetes, você está especificando que deseja uma string que corresponda ao número de caracteres dentro deste {} e a gama de caracteres especificados neste [].

Tenho certeza de que não faz muito sentido agora, então vamos ver um exemplo!

Digamos que você queira encontrar qualquer ano mencionado em um corpo de texto. Uma vez que um ano consiste em quatro números (obviamente, não todos os anos de todos os tempos, apenas me siga aqui), você pode usar este código para combinar anos dentro desse texto:

[0-9]{4}

Este código está dizendo que queremos uma string composta de caracteres de 0 a 9 que tenha especificamente quatro caracteres. Você pode ver como ele localiza essa string específica na seguinte captura de tela:

Devo observar que existem alguns problemas com este código regex, e isso não leva em conta espaços ou pontuação. Portanto, se o código encontrar um número com mais de quatro caracteres, como “12345678”, ele encontrará a string “1234” e a string “5678”.

Para corrigir esse problema, você gostaria de adicionar um espaço no início do código e um colchete após o {4} que contém outro espaço, um ponto, um ponto de interrogação, uma vírgula e um ponto de exclamação. Dessa forma, ele ignorará longas sequências de números sem perder sequências de números que tenham pontuação no final em vez de um espaço.

Você também pode usar quantificadores para especificar mais de um comprimento de string. Por exemplo, talvez eu queira encontrar uma string de quatro caracteres, mas também sete e onze. Isso seria assim:

[a-z] {4,7,11}

Existem mais alguns quantificadores que você deseja saber sobre

Ok, então ainda existem mais quantificadores! Esses últimos quantificadores são para quando você deseja especificar o comprimento de uma string sem ser muito específico.

Por exemplo, digamos que você queira encontrar uma string de qualquer comprimento que o regex possa corresponder. Como um nome! Os nomes (em países ocidentais) começam com uma letra maiúscula e terminam com uma quantidade aleatória de letras minúsculas, seguidas por um espaço. Para encontrar um nome, você escreveria o seguinte código:

[A-Z] [a-z] *

[A-Z] especifica que o primeiro caractere da string deve ser uma letra maiúscula. [a-z] * especifica que o resto da string deve ser composto de letras minúsculas, mas não importa quantas letras se seguem. E o espaço no final significa que a correspondência será encerrada assim que encontrar um espaço no final das letras minúsculas.

Uma combinação de ouro em regex é .*. Isso significa corresponder a qualquer caractere infinitamente. Em outras palavras, corresponderá a todo o corpo do texto como um item.

O próximo quantificador que você precisa saber é +. Este é como * exceto que não corresponderá a uma string com zero caracteres. * corresponderá a qualquer comprimento de string, o que inclui strings sem comprimento. +, por outro lado, precisa de uma string com pelo menos um caractere ou mais.

Por último, há o ? quantificador. Este é estranho. Ele especifica que uma string tem zero caracteres ou um caractere de comprimento. É isso - nada ou apenas um. Então, se você usar o código [a-z]? com um espaço no início e no final, ele procurará letras únicas em um corpo de texto.

Procure por caracteres no início e no final de uma string de texto

Estamos chegando ao fim de nosso guia sobre o uso de regex com atalhos! Existem apenas mais dois tipos de código regex que você usará com os atalhos.

Os primeiros são caracteres que permitem combinar strings com base em como começam e / ou terminam.

Quando não está entre colchetes, o ^ o papel do personagem muda de "excluir" para "começa com". Ele especifica que uma string deve começar com o que você quiser. Por exemplo, se você escrever ^ A, que corresponderia à letra “A” nas cadeias de caracteres “Tudo bem”, “Apple” e “A”.

Não corresponde à palavra inteira, no entanto. Para isso, você precisaria alterá-lo para ^ A [A-Za-z] *. Isso corresponderá à primeira palavra de um parágrafo / string, desde que essa palavra comece com “A” maiúsculo.

Como nota lateral, você pode escrever [A-Za-z] Como [A-z]. Significa a mesma coisa, só acho que o primeiro é um pouco mais claro quando você está aprendendo.

Para especificar o final da string, você vai querer usar o $ personagem. Funciona da mesma forma que o ^ personagem. A única diferença é que você escreve no final de um colchete / string em vez de no início.

Por exemplo, se você quiser encontrar strings / parágrafos que terminem com “le”, você deve usar o código [A-z] * le $. Isso corresponderá a “Tabela”, “maçã” e “capaz”, desde que estejam no final de uma string ou parágrafo.

O Regex até negará essa correspondência se houver um espaço ou marca de pontuação no final da string. "Mesa." não será correspondido por este código.

Para consertar isso, você pode levar em consideração a pontuação. Este código é responsável por várias formas de pontuação e espaçamento que podem ocorrer no final de uma string, incluindo uma marca de pontuação seguida por um espaço:

[A-z] * (le [\. \?!,]? []?) $

Esse código corresponderá a “Capaz”, “tabela.”, “Estável” e “capaz? “.

Armazene strings de texto usando a função de agrupamento de regex com atalhos

Tudo bem! Você chegou ao final de nosso guia AppleToolBox sobre como usar regex com atalhos. Só falta aprender mais uma função regex, que é o agrupamento.

O agrupamento é indiscutivelmente o recurso mais importante do regex, pois é o que permite que você faça coisas com o código regex que você escreve. Sem ele, o regex é apenas um recurso de pesquisa. Ele só pode dizer se uma string existe dentro de um corpo de texto maior, ou seja, ela retornará "verdadeiro" ou "falso".

Com o agrupamento, no entanto, você pode armazenar os resultados do seu código regex. E isso significa que você pode copiar correspondências, armazená-las em variáveis, substituí-las por outro texto, modificar sua formatação e tudo o mais que você deseja fazer com regex.

Felizmente, agrupar é muito fácil! Basta colocar o que você quiser agrupar entre parênteses (). Tudo o que você colocar entre parênteses será tratado como um grupo.

Se você colocar uma linha inteira de código regex entre parênteses, como (.*@.*\..{3}), então esse grupo será lembrado por seu código, o que permitirá que ele seja recuperado posteriormente na linha.

É importante que você só use grupos sempre que precisar. Como eles são armazenados na memória, eles podem fazer com que o desempenho do seu código diminua. Salve grupos para quando eles forem necessários!

Você também pode usar grupos para organização

Você também pode usar grupos para organizar seu código regex com atalhos. Quando você fizer isso, o grupo entre parênteses não será necessariamente lembrado.

Por exemplo, digamos que eu queira corresponder à palavra "Olá", exceto que não me importo qual seja a última letra. Pode ser qualquer letra minúscula ou maiúscula ou até mesmo um número. “Hell3838djdjajaksks” e “Hello” devem ser contados como correspondências. “Inferno”, por outro lado, não deve ser contado.

Para fazer isso funcionar, eu escrevo o código Inferno [A-z] | [0-9] +. Mas este é o resultado que obtenho:

A razão pela qual não está correspondendo da maneira que eu esperava é que o + só está sendo aplicado ao [0-9] suporte. Eu preciso aplicar a ambos os colchetes.

Além disso, este código está dizendo que eu quero Inferno [A-z]ou[0-9]. Portanto, ele está correspondendo a palavras que começam com "Inferno" e terminam com uma letra, ou está procurando qualquer sequência de números. O que eu realmente preciso é que ele combine ocorrências da palavra “Inferno” que terminem com uma letra ou um número.

Para corrigir isso, posso usar um grupo e reescrever o código como Inferno ([A-z] | [0-9]) +. Agora, ele está procurando pela palavra "Inferno" seguida por qualquer letra ou número. E porque o + é aplicado a ambos os colchetes, pode ser qualquer combinação de letras e números, desde que haja pelo menos uma letra ou número presente.

Como você pode ver na captura de tela abaixo, este grupo resolve meu problema sem necessariamente armazenar as informações dentro desse grupo:

O que agora?

E é isso! Isso é quase tudo que você poderia querer saber sobre o uso de regex com atalhos. Felizmente, você se sente confiante o suficiente para começar a experimentar o regex agora, mesmo que não fizesse sentido para você no início.

Agora que você conhece o básico do regex, está pronto para começar a usá-lo em seus atalhos! Os atalhos aceitam entrada regex nas seguintes ações:

  • Corresponder Texto
  • Substituir Texto

Usando essas duas ações de atalhos, você pode inserir regex em seus atalhos.

Combine isso com os recursos de automação dos Atalhos e você terá uma ferramenta muito poderosa à sua disposição.

Você pode usar regex para tornar a formatação de texto em atalhos mais fácil, para extrair informações de e-mails, textos, sites, arquivos e eventos de calendário, criam texto que segue um formato especificado, verifique se a entrada foi inserida corretamente e mais.

Por exemplo, digamos que você deseja corresponder para e-mails. Talvez você precise verificar se uma string de texto é um e-mail ou talvez queira obter um (s) e-mail (s) de um corpo de texto.

Como você quebraria isso?

Bem, você sabe que a estrutura básica de um e-mail será uma combinação de letras, números e caracteres, seguidos do símbolo “@”, então seguido pelo nome de um site como Gmail ou iCloud, que é seguido por um “.com”, “.org” ou algum outro tipo de nível superior de três caracteres domínio.

Para escrever isso em regex, você precisa especificar que deseja uma string de pelo menos um caractere que seja imediatamente seguida pelo símbolo “@”, depois outra sequência de pelo menos um caractere, seguida por um “.”, seguida por uma sequência de três personagens. Isso ficaria assim:

[email protegido]+\..{3}

Se você colar isso no Corresponder Texto ou Substituir Texto ações em Atalhos, você terá uma automação que pode encontrar, armazenar e manipular um endereço de e-mail.

Você pode usar esse tipo de solução de problemas para criar suas próprias soluções de regex ou para encontrar algumas que outros criaram online!

Comece a usar regex com atalhos para levar sua automação para o próximo nível

E isso, amigos, é realmente isso. Espero que tenha gostado de acompanhar este artigo! Esta é uma das peças mais ambiciosas que já escrevi para o AppleToolBox. Eu tive que aprender regex para escrevê-lo e espero que, ao fazer isso, eu tenha ajudado você a aprendê-lo.

Usar regex com atalhos não é diferente de aprender como fazer qualquer outra coisa em seu smartphone ou computador. Apenas coloque um pouco de tempo e paciência e, eventualmente, você vai chegar lá.

Para obter mais guias, tutoriais e notícias sobre todas as coisas da Apple, verifique o resto do o blog AppleToolBox.

Tudo bem [A-Z] [a-z] +, Vejo você na próxima!