‫Bem-vindo de volta a este vídeo, vamos falar sobre expressões regulares, e é uma linguagem ou
‫um padrão que o mecanismo de expressão regular tenta combinar no texto de entrada para que possamos criar
‫o texto de entrada e então podemos usar expressões regulares para verificar padrões específicos.
‫E isso é superpoderoso.
‫E não é usado apenas em C Sharp, é usado em quase todas as linguagens de programação.
‫E é útil para descobrir, por exemplo, se um usuário inseriu um endereço de e-mail correto ou se
‫um usuário inseriu um link correto ou coisas assim em geral.
‫Portanto, você pode usar expressões regulares para descobrir essas coisas, pesquisar padrões específicos e fazer
‫algo.
‫Se eles estão lá ou não estão, então não faça nada, por exemplo.
‫E bem, estou neste site onde você pode verificar a linguagem de expressão regular com uma referência
‫rápida.
‫E existem tantos personagens escapados diferentes para encontrar coisas ou para criar padrões.
‫E há muitos aqui.
‫E vou usar os mais importantes deles.
‫Não vou entrar em cada um deles, mas você verá muitos exemplos diferentes que farão com
‫que você entenda as expressões regulares.
‫E então será super fácil voltar para o lado e usar os outros se precisar deles.
‫Tudo bem.
‫Então, vamos voltar ao Visual Studio, e eu criei um pequeno texto de exemplo, então vamos criar um
‫novo projeto de expressão regular.
‫Eu tenho um ano.
‫Basta chamá-lo da maneira que quiser e vamos criar um novo arquivo aqui também.
‫Novo item.
‫E desta vez, não vamos criar uma classe.
‫Vai ser um arquivo de texto muito básico.
‫Então, aqui, arquivo de texto e vou chamá-lo de texto de ponto simples.
‫Agora, vamos abrir aquele arquivo de texto mais simples.
‫E eu apenas copiei e colei algum código ou algum texto ali.
‫E como você pode ver, números, números de telefone, números de telefone alemães e assim por diante, o alfabeto,
‫algum texto lalalala e assim por diante.
‫Portanto, usaremos expressões regulares para marcar os padrões específicos que procuramos.
‫E isso fará muito mais sentido quando entrarmos em prática.
‫Então, vamos pressionar o controle F ou o comando F para chegar à ferramenta final aqui.
‫E quando você estiver aqui, pressione isto, use expressões regulares ou alti.
‫Então, isso usará expressões regulares.
‫Agora, agora, agora, nosso console de pesquisa aqui aplicará expressões regulares.
‫Então, o que são expressões regulares?
‫Você viu alguns deles.
‫Vamos começar com um muito simples.
‫Portanto, vou prosseguir e começar com as guias.
‫Então, vamos para a guia Backslap.
‫E como você pode ver agora, as guias estão marcadas.
‫Portanto, no meu caso, vou torná-lo um pouco maior para que você possa ver melhor.
‫Aqui estão algumas dicas.
‫Deixe-me criar mais algumas guias.
‫Como você pode ver agora, as guias estão todas marcadas aqui.
‫Todos estão destacados.
‫Agora vamos encontrar cada nova linha por barra invertida.
‫E você pode ver que é aqui que começa a nova linha e também aqui.
‫Então é basicamente aqui que eu pressiono Enter, deixo que pressionem em algum lugar.
‫Entrar.
‫Como você pode ver aqui, cada vez que pressiono Enter e quebro a linha, tenho esta barra invertida.
‫E é assim que posso descobrir se houve uma nova linha ou não.
‫Então, de onde recebo todas essas barras invertidas e assim por diante?
‫Bem, posso encontrá-los aqui sob a expressão regular, linguagem, referência rápida.
‫Mas também criei um pequeno trecho de arquivo de texto.
‫Deixe-me criar um pequeno arquivo e vou colá-lo lá.
‫Você pode baixá-los dos recursos desta palestra e vou chamá-los de trechos desse texto.
‫Portanto, aqui temos escapes de caracteres, que são, por exemplo, Tabs, para que possamos descobrir se há tabs em
‫minha string, que está em meu arquivo de texto de amostra, o arquivo inteiro.
‫Portanto, aqui estou eu verificando todo o arquivo e verificando cada nova linha ou
‫cada guia em meu arquivo inteiro.
‫Bastante.
‫OK então.
‫Temos as classes de caracteres, por exemplo, um ponto, um ponto simples é um curinga, assim como
‫qualquer caractere único, exceto a barra invertida.
‫E então, exceto para New Line, vamos verificar se isso é verdade.
‫Portanto, temos novas linhas.
‫Vamos verificar novamente usando a tecla N aqui.
‫Como você pode ver, recebemos todas as novas linhas.
‫Agora, vamos usar o ponto e o ponto, como você pode ver.
‫Tanto quanto qualquer caractere único, então é isso que termina ou aquilo é um curinga.
‫Então, se você quiser marcar tudo, bem, esse é o caminho a seguir.
‫Portanto, você pode ver que ele verifica tudo o que diz, exceto para a nova linha.
‫Mas, ao que parece, novas linhas também estão marcadas.
‫Então, cada vez que eu crio uma nova linha, ela ainda está marcada com este pensamento.
‫Tudo bem.
‫Então, vamos verificar o próximo.
‫Vou passar por alguns deles e, em seguida, vamos combiná-los para usar algumas coisas legais e legais.
‫Tudo bem.
‫Tanto quanto qualquer dígito digital ou decimal.
‫Vamos verificar isso.
‫Barra invertida D com quatro dígitos.
‫E como você pode ver, meu número aqui, um, dois, três, quatro, cinco, seis sete oito nove zero estão todos
‫marcados.
‫E aqui todos os meus números estão marcados.
‫E os valores intermediários, por exemplo, o sinal de mais, a hashtag e assim por diante, eles não são marcados.
‫OK, então qualquer número será encontrado ou qualquer número corresponderá ao padrão desta expressão regular.
‫A barra invertida D, que significa barra invertida decimal D maiúsculo, fará o oposto.
‫Portanto, será necessário todo o resto, exceto números, como você pode ver aqui novamente.
‫Se quiser ter um espaço amplo, você pode usar a barra invertida, pois assim obterá qualquer espaço em branco que tiver em
‫seu arquivo.
‫Então, se você quiser me livrar de qualquer espaço em branco em seu arquivo, poderá usar esse padrão e se
‫livrar de tudo que corresponda a esse padrão.
‫Capitalizar do outro lado está tudo o que não seja um espaço em branco.
‫Como você pode ver, o Capitol é quase sempre o oposto.
‫Portanto, D são todos os números.
‫D maiúsculo é exceto números.
‫Então, tudo exceto números.
‫Certo, então vamos verificar o w w me dará qualquer palavra, caractere e números estão incluídos.
‫Então aqui me dá todos os números e todos os caracteres, como ABCDE e assim por diante.
‫Portanto, aqui todo o alfabeto está marcado, assim como todos os meus dígitos, como você pode ver, os pontos
‫não estão marcados e não há barras.
‫E esses caracteres Medda, esses caracteres específicos, eles também não são marcados e não adicionam nenhum deles.
‫Tudo bem.
‫Se você quiser ter todo o resto, use W maiúsculo agora, se quiser ter, por exemplo, a
‫lei, vamos procurar LA L. UMA. Como você pode ver, posso pesquisá-lo com letras maiúsculas ou minúsculas em ambos os casos.
‫Minha la la la la la.
‫Texto aqui se você quiser cantar.
‫La la la la la la la la e assim por diante, então esse é o que está marcado aqui.
‫Mas como você pode ver, todos eles estão correspondendo a esse padrão, embora eu não esteja usando a letra maiúscula literal
‫ou não.
‫Tudo bem.
‫E se eu gostaria de ter apenas aqueles que estão vinculados a um lado específico,
‫posso ir em frente e usar back ou B l a e eles eram para que apenas aqueles que têm um limite à esquerda sejam exibidos agora.
‫O que significa que não há nada antes de la ou há um espaço em branco antes de LA, então apenas esses
‫serão marcados.
‫Como você pode ver este L. UMA. também não está marcado este.
‫Isso ocorre porque a palavra limite não está no lado esquerdo.
‫Então, vamos voltar para Desinibições bem rápido e verificar o que temos aqui.
‫Portanto, temos grupos de personagens que precisamos examinar.
‫Então temos o sinal de negação.
‫Assim, as âncoras dos meses de jogo devem começar no início de uma string ou linha.
‫Se você usar isso, então o sinal W, uma correspondência deve ocorrer no final da string ou antes de a.
‫Próxima linha no final da linha da corda, praticamente tudo bem então, sim.
‫Vamos dar uma olhada nesses.
‫Vamos voltar ao nosso arquivo de amostra.
‫Por exemplo.
‫Circumflex Alé, e como você pode ver aqui, este é marcado, então está no início de uma corda.
‫Vamos para um A.
‫Como você pode ver aqui, existe o no início da string ou se você quiser um M, ele está
‫no início da string também.
‫Então aí está você.
‫O que você quiser, terá aquele no final da corda.
‫Bem, o fato é que temos todo um texto de toda esta amostra.
‫O arquivo de texto é basicamente uma string.
‫Então, se eu quiser ter no final.
‫Como você pode ver, há um caractere no final da string e isso é o ponto positivo aqui.
‫Então, se eu quiser ter o sinal de mais, a propósito, ou o DOT ou qualquer um desses caracteres, preciso escapar
‫deles.
‫Então, se eu procuro por eles, preciso escapar deles.
‫E como posso escapar deles?
‫Bem, pode escapar deles usando a barra invertida.
‫Portanto, a barra invertida mais me dará o mais aqui, como você pode ver, o mais literal do outro lado.
‫Portanto, se eu apenas inserir o sinal de mais, como você pode ver, esse sinal de adição não será
‫encontrado, porque é um metacaractere e precisamos escapar deles se usarmos expressões regulares para localizá-los.
‫Portanto, a barra invertida mais me dará o ponto positivo.
‫Como você pode ver, este plus aqui está marcado, assim como o plus ali.
‫Mas agora, se eu quiser apenas o que está no final de uma string e, como disse,
‫todo o texto é uma string, simplesmente uso o cifrão e vejo que esse sinal de mais está marcado.
‫No entanto, o sinal de mais aqui não está marcado ou não destacado.
‫Agora vamos olhar para os intervalos reais bem rápido.
‫Como você pode ver, temos esse grupo de caracteres correspondente como um único ou qualquer caractere único em um grupo de
‫caracteres.
‫Por padrão, a correspondência diferencia maiúsculas de minúsculas.
‫Então, grupos de personagens, vamos verificá-los.
‫Vamos ao nosso texto de exemplo.
‫E nesses colchetes, posso prosseguir e fazer algo como A a Z.
‫Portanto, agora cada caractere entre A e Z será destacado.
‫Como você pode ver, todos os personagens estão destacados.
‫Se eu só quiser ter de A a F, como você pode ver, apenas H. F. estão destacados e como você pode ver, não
‫importa.
‫Leva letras maiúsculas, bem como letras minúsculas.
‫E você pode ver que nosso estúdio visual não parece se importar com isso por padrão.
‫As correspondências diferenciam maiúsculas de minúsculas.
‫Portanto, em nosso caso, o grupo de caracteres diferencia maiúsculas de minúsculas, como você pode ver.
‫Então é preciso também.
‫Tudo bem.
‫Mas se você quiser ter certeza e em outros casos você precisa usar A a Z, por exemplo,
‫assim, e A a Z assim.
‫Portanto, eles teriam letras maiúsculas e outras letras maiúsculas mais baixas.
‫Tudo bem.
‫Então esse é um grupo.
‫Esse é um exemplo de grupo em que podemos usar qualquer letra aqui.
‫Como você pode ver, cada coisa ou cada letra que colocamos lá também é marcada.
‫Não ou destacado também.
‫Agora, dentro deste grupo, tudo o que está no grupo será destacado.
‫Agora podemos criar outras mudanças também com dígitos, então digamos que eu queira ter todos os números numerados entre
‫um e cinco que somos agora, obtenho todos os números entre um e cinco zeros não incluídos.
‫Então, um, dois, três, quatro, cinco.
‫E se eu quiser o oposto, bem, então posso usar o circunflexo novamente, então o circunflexo de um
‫a cinco me dará todos os números, exceto um, dois, cinco.
‫Portanto, se eu quiser ter todos os números, exceto o sete, digamos, o que devo inserir?
‫Tudo bem.
‫Espero que você tenha descoberto.
‫É apenas sete ou oito circunflexo.
‫Como faço agora para descobrir um padrão específico?
‫Porque até agora usamos expressões regulares muito genéricas.
‫Nós apenas usamos os caracteres muito simples e assim por diante.
‫E daí se eu quiser ter essa estrutura específica, digamos três dígitos, outros três dígitos e depois quatro
‫dígitos, e eles são separados por um traço.
‫Então como você faz isso?
‫Bem, eu digo que é um dígito, então é outro dígito e é outro dígito.
‫Então, como você pode ver, isso se ajusta a todos os padrões que temos, a todos os números que temos
‫aqui.
‫Isso porque todos eles são três números, pelo menos.
‫Então, se eu adicionar outro aqui, como você pode ver, a primeira linha é destacada e depois aqui.
‫E nossa terceira linha, apenas aquelas com pelo menos quatro números conectados entre si, conforme destacado.
‫E daí se eu quiser que a linha três seja destacada e a linha quatro também?
‫Porque eles estão com o mesmo padrão, eu posso fazer o seguinte ou o seguinte assim, menos
‫barra invertida D, barra invertida, expertise profunda e barra invertida.
‫Portanto, agora tenho essas duas linhas ou esses dois números destacados.
‫É uma maneira de descobrir todos os números de telefone com essa estrutura e há maneiras mais fáceis de fazer
‫isso.
‫Não preciso inserir tantos D se não quiser.
‫Há uma maneira mais simples de usar a abordagem a seguir, então posso apenas dizer, OK, dentro das chaves, eu digo
‫como ou como direi quantos dos caracteres ou padrões de escape anteriores eu desejo.
‫Portanto, neste caso, digo, OK, quero ter três D, o que significa três dígitos.
‫A mesma coisa se aplica à nossa segunda entrada ou segunda parte das informações.
‫E para o último, como você pode ver, três não são suficientes.
‫Precisamos de quatro.
‫Portanto, agora ele se encaixa nesses dois padrões.
‫E daí se eu não quiser apenas os pontos negativos, mas também os pontos ou hashes?
‫Bem, eu posso usar isso em ambos os casos, mas então, como você pode ver, tudo está incluído.
‫Então você pode ver aqui com três números, então temos outra coisa e então temos muito mais números.
‫Portanto, temos realmente esta peça aqui.
‫É por isso que a linha sete também está marcada.
‫O mesmo vale para oito.
‫Como você pode ver, ele começa após o quarenta e nove, o que significa que temos esse padrão aqui também.
‫Mas não quero ter esses padrões.
‫Eu quero ser mais preciso.
‫Eu quero ter um, por exemplo, a hash tag lá.
‫Eu quero ter o menos e isso, mas eu só quero ter essa estrutura específica.
‫Então, como faço para conseguir isso?
‫Bem, posso usar uma pesquisa literal de grupo, o que significa que, em vez do DOT, vou usar
‫colchetes novamente e eles serão minha pesquisa literal de grupo.
‫Então aqui eu digo que é um ponto.
‫O que disse hash ou é um sinal de menos.
‫Como você pode ver agora, todos esses três personagens estão bem, mas nada mais.
‫Agora, se eu quiser usá-lo para o primeiro caractere aqui também, eu tenho que pontuar aqui.
‫Então, levou o menos para DOT e o hash, mas eu quero ter todos os três e nada mais.
‫E daí se eu entrar em um aqui, por exemplo?
‫Bem, agora não é mais o caso, mas se for apenas um ponto, o A está bom.
‫Mas se eu entrar no meu grupo que eu tinha lá, minha pesquisa de pequeno grupo específico.
‫Portanto, esta é uma pesquisa literal de grupo aqui.
‫Agora não está mais incluído, então tem que ser um desses três personagens.
‫Tudo bem.
‫Se você se sente como um desafio e está pronto para um desafio real, crie a estrutura para todos esses
‫três números.
‫Portanto, crie um padrão para todos esses três números diferentes, porque essas são três maneiras diferentes
‫de criar um número de telefone celular na Alemanha, e essa é a estrutura geral.
‫Então, se você ligar da Alemanha, se você ligar de fora da Alemanha e daquele outro país também.
‫Portanto, A mais ou zero duplo, geralmente, se você ligar para alguém de fora do seu país,
‫precisará ter o mais mais o código do país.
‫E é o mesmo com zero zero, que representa esse mais.
‫Tudo bem.
‫Então, se você quiser, pode criar a estrutura para este.
‫É muito difícil.
‫E ainda preciso mostrar uma coisa antes que você possa fazer isso.
‫E talvez seja um pouco mais do que apenas uma coisa.
‫Portanto, antes de mais nada, vamos prosseguir com o cano.
‫Digamos que eu queira ter mais quarenta 49 ou algo como zero zero quarenta e nove.
‫Agora, isso por si só não funcionará.
‫Por que é que?
‫Bem, se olharmos os fragmentos, podemos encontrar quantificadores e ainda não usamos quantificadores e isso é algo que
‫precisaremos fazer.
‫Agora a mesma coisa para construções de agrupamento e construções de alternação.
‫Então, esses são os que vamos usar agora.
‫OK, precisamos verificá-los antes de prosseguir e criar uma estrutura completa para esses números.
‫Então, vamos começar usando alternância, construções e quantificadores.
‫Portanto, o sinal de mais diz que corresponde ao elemento anterior uma ou mais vezes?
‫Bem, eu não quero fazer isso.
‫Eu só quero ter um ponto positivo literal.
‫E, como você sabe, um plus é uma questão de caráter e precisa ser um.
‫Portanto, o que preciso fazer antes do sinal de mais é uma barra invertida.
‫E agora você pode ver que estou usando o cano aqui.
‫Então eu digo que é mais quarenta e nove ou oito zero zero quarenta e nove.
‫E como você pode ver, ambas as estruturas ou padrões estão marcados aqui ou ambos os meus números
‫aqui estão destacados.
‫Então é isso que isso faz.
‫É ou.
‫Portanto, um desses deve ser verdadeiro em todo o número que estamos olhando.
‫Então é divertido.
‫E isso não é apenas para números, é também para personagens.
‫Então, por exemplo, se eu quiser ter o Sr. e a Sra.
‫Então, se eu quiser etiquetá-los, uso m r pipe ams, o que significa mister ou não.
‫Eu tenho que ser verdade.
‫E é o caso aqui no nosso caso.
‫Então esse é o ou, como você pode ver aqui, nossa construção de alternância, então a construção de
‫agrupamento é algo que precisamos examinar a fim de examiná-los.
‫Acho que é melhor olharmos os links aqui.
‫Portanto, temos alguns links aqui, links HGP e HTP e com W W, W ou sem.
‫Portanto, temos quatro links diferentes aqui.
‫E se eu quiser usar um grupo, digamos que eu queira usar esse grupo w w w, mas como você pode ver, não é o
‫caso para todos os links.
‫Portanto, para encontrar os links, precisamos primeiro ir ao HTP.
‫S, então temos essa estrutura.
‫Até agora está tudo bem.
‫E agora, se eu quiser que esses dois ainda estejam ativos, preciso dar uma olhada neste grupo w w w porque aqui é o
‫caso e aqui não é.
‫Então, como fazer isso.
‫Bem, eu preciso usar um grupo, então vou agrupar w w w e como você pode ver até agora apenas
‫este link aqui, o primeiro está destacado, mas se eu inserir este ponto de interrogação está tudo bem.
‫Portanto, estou usando o grupo w w, mas estou combinando-o com.
‫O ponto de interrogação e o que esse ponto de interrogação?
‫Bem, é um quantificador e corresponde ao elemento anterior zero ou uma vez.
‫Portanto, os quantificadores são a estrela, que corresponde ao elemento anterior, zero ou mais vezes do que o sinal de mais,
‫que corresponde ao elemento anterior uma ou mais vezes.
‫E então temos o ponto de interrogação, que corresponde ao elemento anterior, zero ou uma vez.
‫Você também pode dizer quantas vezes deseja que isso aconteça exatamente.
‫Portanto, corresponde aos tempos finais exacty do elemento anterior e também a um intervalo.
‫Portanto, pelo menos o fim dos tempos, mas mais ou não mais do que M tempo.
‫Então, esses são os diferentes quantificadores que você pode usar.
‫Agora eu vi um exemplo de agrupamento, agrupando W e um exemplo de quantificadores usando o ponto
‫de interrogação.
‫Como você pode ver, as duas coisas ainda estão ativas.
‫Então este w w w e aquele sem ainda está ativo e aqui ele realmente w w w ponto.
‫Portanto, este ponto também está incluído.
‫E então, após o ponto de interrogação, posso prosseguir e dizer tutoriais para vocês, para que ambas as coisas fiquem ativas.
‫OK, vamos voltar, no entanto, ainda temos este pequeno desafio para fazer com que todos esses números sejam
‫ativos.
‫E agora, você deve ser capaz de fazer isso pelo que viu.
‫É muito difícil, estou dizendo a você, pode demorar um pouco, talvez até meia hora ou mais,
‫embora seja um exemplo muito básico.
‫Pode demorar um pouco para descobrir com base no que você aprendeu ou com base nos trechos que você
‫viu aqui.
‫Portanto, talvez seja melhor se você baixar o arquivo de trechos e olhar para as diferentes classes de personagens, paisagens
‫de personagens, âncoras e assim por diante para experimentá-lo.
‫Como eu disse, difícil.
‫Se você não se sentir como um desafio difícil, espere pelo desafio mais fácil, que será encontrar todos
‫os links de sites ou dois.
‫Bem, marque todos os links do site ou destaque todos eles.
‫Tudo bem.
‫Portanto, agora você deve saber tudo o que precisa para criar padrões para encontrar números de telefones celulares
‫alemães.
‫E há uma coisa a se considerar.
‫Então, eles sempre começam com zero ou mais quarenta e nove ou zero zero quarenta e nove, depois seguem um.
‫Portanto, é sempre assim.
‫Como você pode ver, um aqui, outro ali e um aqui, os seguintes números, um seis ou
‫sete.
‫Portanto, não há outros números permitidos aqui.
‫Em seguida, o próximo dígito, que é neste caso, o quarto dígito pode ser qualquer número, então você tem
‫uma barra e a seguir estão apenas oito números.
‫E esses oito números podem ser qualquer número, então pode ser qualquer um desses 10 dígitos diferentes.
‫OK, geralmente essa é a estrutura.
‫Por favor, tente construir isso.
‫Se você se sente como um verdadeiro desafio, não é fácil.
‫Pode demorar um pouco para configurá-lo, mas você viu o que precisa fazer e.
‫Bem, por favor, tente e vá em frente e verifique os trechos para fazer isso.
‫Portanto, sempre volte aos trechos para descobrir.
‫E pode ser difícil.
‫E se você sentir que não está fazendo nenhum progresso e não consegue fazer funcionar, então
‫não consegue destacar todos aqueles três números, tudo bem, porque explicarei logo em seguida.
‫Tudo bem, então vou explicar agora, se você quiser tentar por si mesmo, apenas pause o vídeo.
‫OK, então, em primeiro lugar, temos um zero, um mais quarenta e nove ou um zero zero 49.
‫Então, vamos começar com o mais 49 e vou usar um grupo para isso.
‫Preciso da barra invertida mais quarenta e nove para usar o mais literal, como você pode ver aqui, então
‫a alternativa é zero zero quatro nove.
‫Portanto, é mais 49 ou zero zero quatro nove.
‫E então a outra alternativa é apenas um zero.
‫Como você pode ver, é apenas esse zero aqui.
‫Mas, como você pode ver, todos os outros agora também estão ativos.
‫Todos os outros zeros também estão ativos.
‫E vou adicionar um ponto de interrogação aqui, porque estou dizendo que pode haver um zero ou eles podem ser concluídos.
‫Então, nesses casos, não há nenhum.
‫Nesses dois casos, somente nesse caso temos um zero.
‫Portanto, agora vamos verificar o que esse ponto de interrogação significa.
‫Isso significa que corresponde ao elemento anterior, zero ou uma vez.
‫OK, então zero nesses dois casos e um na linha oito.
‫OK, não é isso.
‫Isso é apenas o começo do número.
‫Certo, segue um.
‫Portanto, agora temos zero um e depois seis ou sete.
‫Então, eu crio um grupo novamente, dizendo apenas seis, cinco, sete entre meus colchetes.
‫Até agora tudo está bem, então pode ser qualquer número.
‫Agora posso apenas usar a barra invertida D, temos uma barra e outro número.
‫E não é apenas um, são oito dígitos.
‫Portanto, podemos apenas dizer, OK, serão oito dígitos e assim será.
‫Essa é a estrutura.
‫Vou adicioná-lo logo abaixo aqui.
‫Então esse é o nosso padrão para obter números de telefone alemães.
‫Bem, pelo menos os que vemos aqui e em geral, você deve encontrar todos os números de telefone alemães.
‫Agora, você pode, é claro, tentar a mesma coisa com o número do seu país.
‫Portanto, seja lá o que você for, de onde quer que more, verifique os números de telefone ou de celular e veja
‫como é a estrutura desses números de celular e tente construir o padrão para isso.
‫Você pode até compartilhar isso, se quiser.
‫Isso seria interessante ver por tudo.
‫Todos os outros participantes do curso e eu, também, seria muito interessante ver de onde você é e
‫como está a estrutura dos números de telefone ou celulares do seu país.
‫Certo, ótimo.
‫Então, espero que você consiga fazer isso.
‫E se você não fez isso, espero que você possa seguir a estrutura que acabei de explicar.
‫Agora, vamos em frente e.
‫Bem, na verdade, vamos verificar.
‫O senhor e Senhorita exemplo, novamente, porque aqui temos o Sr. Pan, Utah, onde temos o Sr. Mueller sem par.
‫Então, como posso verificar se o ponto está lá ou não?
‫Bem, agora, você deve saber que pode usar um ponto de interrogação para isso.
‫Então, vamos começar com o Sr. como você pode ver, todas as três ou quatro linhas estão marcadas, pelo menos o mister.
‫E então se eu usar um ponto, você pode ver que todos eles estão ativos também.
‫Mas isso é porque isso significa curinga ou significa qualquer coisa.
‫Portanto, pode haver um espaço vazio aqui também.
‫Então, se você quiser ter certeza de que é um ponto literal, você precisa usar a barra invertida.
‫Agora, o próximo é um espaço vazio e depois temos o nome.
‫Portanto, pode ser de A a Z.
‫Então, qualquer coisa A para ver assim.
‫Então, agora como faço para obter o Sr. Mueller e Sr. Robertson também está lá?
‫Bem, preciso usar o ponto novamente, mas desta vez com um ponto de interrogação, porque o que estou dizendo agora é
‫que pode haver um ponto org pode ser feito e depois temos um espaço vazio.
‫Então, aqui eu uso o espaço vazio literal para fazer isso.
‫Mas você também pode usar barras invertidas porque barras invertidas se verificar novamente.
‫Tanto quanto qualquer caractere de espaço em branco e é isso que queríamos.
‫Portanto, agora todos esses nomes estão corretos.
‫E se você quiser ter uma quantidade específica de caracteres seguindo, então os nomes devem ter pelo menos
‫quatro caracteres, então você pode usar este quantificador aqui.
‫Então, estamos usando o quantificador dentro do ser forçado.
‫Portanto, dizemos que tem pelo menos quatro caracteres ou quatro letras.
‫Se ele quisesse não apenas ter caracteres como A a Z ali, mas também números, por exemplo, você poderia usar a barra invertida
‫W, então a barra invertida W significa apenas que é um, como você pode ver aqui, é um caractere de palavra.
‫Portanto, H é de A a Z 029 e sublinhado.
‫Portanto, é útil para, digamos, nomes de jogadores ou nomes de usuários.
‫Então, coisas assim.
‫E se eu quiser ter vários caracteres, posso usar o sinal de mais, para que o quantificador de mais corresponda
‫ao elemento anterior uma ou mais vezes.
‫Então, vamos dar uma olhada.
‫Vamos adicionar o mais.
‫E como você pode ver agora, Sr. Punj, Sr. Miller, Sr. Robertson e Sr. G, todos estão
‫totalmente destacados porque, bem, já dissemos que queremos um ou mais personagens.
‫E se você quiser ter zero ou mais vezes, podemos usar uma estrela.
‫Como você pode ver, a estrela também funciona aqui porque temos mais vezes ou mais personagens.
‫Tudo bem, agora é hora de um pequeno desafio, encontre um site.
‫Já começamos, mas agora vá em frente e encontre todos os links de sites que têm essa estrutura.
‫E não precisam ser tutoriais.
‫Você não deve ser um nome literal, mas deve ser geralmente a estrutura e
‫a estrutura é, como você pode ver, DBS ou HGP, Kolon, SGB.
‫Então w w w ponto ou não, então o nome do domínio e o domínio e o domínio de nível superior, que é EU neste caso,
‫então é separado por um ponto, é claro, também.
‫Tudo bem.
‫Então, por favor, tente isso.
‫Tudo bem, espero que você tenha tentado, então começamos com GTP se o S é opcional, então apenas respondemos ao ponto de
‫interrogação.
‫Então, tem que ser um sim ou não, pergunte.
‫Isso é o que este ponto de interrogação faz.
‫Então nós temos Kolon, barra, barra e então temos um grupo.
‫Portanto, temos um grupo de pontos W w w que é opcional.
‫Então, usamos o ponto de interrogação novamente e temos o nome.
‫E, neste caso, vou usar um grupo de palavras com W Plus e tem que ser a barra invertida W aqui, é claro.
‫Agora ele está usando o nome de domínio também, seguido por um ponto que pode ser um ponto literal.
‫Então, vamos usar um ponto literal dentro do próximo grupo, onde também temos outro caractere de palavra, então pode ser
‫um ou mais caracteres de palavra e é isso.
‫Essa é a nossa estrutura.
‫Então, este aqui mais uma ou mais vezes, que temos duas vezes.
‫Portanto, o domínio de alto nível é esta peça aqui com o pensamento anterior.
‫Portanto, o ponto com barra invertida significa que é um ponto literal que temos aqui.
‫Então temos a palavra propriamente dita ou bem, neste caso é você ou pode ser ponto com ou pode ser ponto
‫academy e coisas assim.
‫Então temos o próprio nome, que é esta peça aqui.
‫Portanto, o nome do domínio w w w não é e htp ou https.
‫Tudo bem.
‫Portanto, você pode criar suas próprias expressões regulares, é claro, mas às vezes faz sentido pesquisá-las no Google.
‫Então, digamos que você queira ter a expressão para endereços de e-mail, então, é claro, ela poderia ir em frente e
‫dizer, OK, quero que você tenha caracteres antes disso.
‫Então você diz W mais seguido por um sinal de adição novamente, W mais, seguido por um ponto literal como esse.
‫E você tem novamente algo como com qualquer coisa.
‫Então, novamente, uma barra invertida W plus.
‫Isso seria algo muito, muito genérico, mas também poderia ser muito falso.
‫Acho que as pessoas pensaram em expressões regulares muito, muito complexas, que são realmente muito
‫seguras.
‫Então, vamos verificar a Internet para isso.
‫Então, vamos voltar para a Internet e agora vamos procurar no Google.
‫O endereço de e-mail rejeita ou rejeita a expressão regular e, em seguida, você encontra este site, é chamado
‫de Rejeições de e-mail ponto com e diz endereço de e-mail, expressão regular que noventa e nove vírgula nove nove nove por cento
‫funciona.
‫E você pode encontrar a expressão regular, o padrão oficial do que a versão Python e a versão JavaScript,
‫HTML e assim por diante.
‫Então, como você pode ver, as diferentes linguagens de programação aqui neste caso.
‫Então esse é o Forese Sharp.
‫Mas como você pode ver aqui, outra forma de usar o sistema, esse método enviava a classe de endereço de e-mail.
‫Portanto, você pode usar essa expressão ou simplesmente usar a classe.
‫E eu normalmente usaria a aula, eu acho, para determinar se um endereço de e-mail é válido.
‫Passe o endereço de e-mail para o endereço de e-mail, esse endereço de e-mail, construtor de classe de string.
‫Então essa também parece uma maneira válida.
‫Mas geralmente é assim que você pode fazer isso.
‫Portanto, se você quiser uma expressão regular, poderá procurá-la com frequência.
‫Usando aquele, no entanto, e copiando-o em meu estúdio visual, um localizador realmente não funciona, então vamos
‫usar o padrão para que o e-mail geral seja rejeitado.
‫Então, vou apenas copiar esse código aqui e voltar ao Visual Studio.
‫Agora, procure essa expressão regular específica.
‫E como você pode ver além do teste, ponto com funciona.
‫Se eu usar informações do Google ponto com, como você pode ver, também funciona.
‫Esse código parece funcionar bem e assim por diante.
‫Então aí está você.
‫Essa é a expressão regular.
‫E se você tivesse que descobrir isso sozinho, acho que você precisaria de um bom tempo.
‫Mas esse é o ponto, certo?
‫Você não precisa desenvolver tudo sozinho e pensar em tudo sozinho.
‫Você pode economizar horas e horas de sua vida apenas usando a Internet para descobrir as coisas e apenas usando o Google
‫para encontrar o que está procurando.
‫Freqüentemente, você encontrará uma solução que funciona muito bem e não precisará criar tudo
‫sozinho.
‫Tudo bem.
‫Espero que tenha gostado deste pequeno curso para expressões regulares.
‫E há uma última coisa a fazer: usar expressões regulares em C Sharp.
‫E eu sei que este vídeo é bem longo, mas espere, porque agora vamos usar Dó sustenido para usar expressões
‫regulares.
‫Portanto, para usar expressões regulares, você pode ir em frente e criar um regex.
‫E neste caso, como você pode ver, não conhece rejeições.
‫Portanto, precisamos adicionar o namespace, que é um sistema de texto que contém expressões regulares.
‫É esse que nós queremos.
‫Agora podemos usar regex e vou chamá-lo de regex e este será um novo regex.
‫E aqui posso inserir o padrão.
‫Você pode, como pode ver, o padrão de string e pode colocá-lo aqui ou pode criar
‫um padrão de string, que será o seu padrão.
‫Então, digamos, bem, neste caso, precisamos usar no início e estou usando a barra invertida D para encontrar todos os
‫números em meu padrão.
‫Vou passar para o construtor da classe regex aqui.
‫E como você pode ver agora, ele usará esse padrão de expressão regular, que no meu caso é apenas um
‫dígito.
‫Então, vai apenas dizer, OK, dê-me seus dígitos agora.
‫Vamos criar uma string de teste e vou chamar o texto e isso estará aí.
‫Meu número é um, dois, três, um quatro.
‫Então esse será meu teste.
‫E agora, para encontrar cada caractere ou cada vez que esse padrão se encaixa, vou usar
‫A para cada loop porque quero mostrar todas as correspondências diferentes que existem.
‫Então, vamos usar uma coleção de correspondências para isso.
‫A coleção de correspondências, se você verificar, é um tipo que não é válido no contexto fornecido.
‫Bem, tudo bem.
‫Vamos criar uma coleção de jogos.
‫Vou apenas dizer que a coleção de correspondências é igual a regex que corresponde e o método de correspondências.
‫O que vai fazer?
‫Bem, vai precisar de uma entrada, que é o meu texto, e vai tentar encaixá-la no meu padrão.
‫Então, estamos usando este regex aqui.
‫Este é o padrão.
‫Nós demos isso ao regex.
‫Portanto, agora ele está tentando combinar o padrão com o texto que temos no texto como esta linha de código aqui.
‫Então, o que podemos fazer agora é mostrar todos os diferentes hits.
‫Vou dizer algo como tantos hits encontrados e vou usar uma nova linha para isso.
‫Eu só vou dizer assim, OK, então esta é a quantidade de acertos que eu tenho e essa será a contagem
‫de pontos da minha coleção de correspondências.
‫Como você pode ver, esse objeto de coleção de correspondências tem uma propriedade
‫que é chamada de Count e dirá apenas quantas vezes ele encontrou o que tentou encontrar?
‫Então, seja qual for o padrão e seja qual for o texto, vou apenas dizer texto aqui também.
‫Portanto, digo dentro do texto, tenho tantos hits e agora vamos mostrar os hits reais.
‫Vou usar para cada um e será uma correspondência, que é chamada de acerto na coleção de fósforos.
‫Então, com isso para cada loop, vou apenas fazer um loop.
‫Todas as coleções de correspondências ou coleção de correspondências, que contém todos os diferentes
‫hits, e vou imprimir cada acerto na tela para ver também em que ponto da string ela foi
‫vendida, em qual posição dentro dessa string está .
‫Então, digamos que não sei, são oito ou sete caracteres aqui, oito, nove, 10.
‫É cerca de, digamos, 20, 20.
‫É este, 21 é este, 22 é aquele e assim por diante.
‫Então, se você quiser ter esses também, podemos usar uma coleção de grupo, que será o
‫meu grupo e atingirá esses grupos.
‫Em seguida, quero mostrar isso para S. C..
‫Toque duas vezes em tempo e, em seguida, digo, OK, quero ter o hit propriamente dito, então vou usar
‫uma chave encontrada em e a posição.
‫Então, como faço para conseguir isso?
‫Bem, eu uso o grupo que criei aqui, então esta coleção de grupos
‫e eu vou apenas dizer grupos que estão na verdade entre colchetes na posição zero.
‫Dê-me isso e dê-me o seu valor.
‫E também quero ter o índice.
‫Então Grupo zero e índice.
‫Tudo bem.
‫Agora vamos executá-lo.
‫O que ele fará é me dar o valor e o índice onde foi encontrado e vou começar com
‫um controle de cinco.
‫Portanto, ele permanece aberto.
‫E diz que um fundou 23 para fundar um 24, três encontraram vinte e cinco, um vinte e seis e quatro para vinte e
‫sete.
‫Como você pode ver, ele encontrou dígitos e me deu a posição desses dígitos e a posição é a
‫posição dentro da string que temos aqui.
‫Tudo bem.
‫Portanto, se eu tiver um padrão diferente que diga que tenho esse padrão de D múltiplo, quero
‫ter cinco dígitos, então vamos verificar novamente.
‫E agora ele deve encontrar apenas um dígito ou uma entrada e diz, olá, número apenas um, dois, três,
‫quatro, três, um, cinco, quatro.
‫E aqui, um, dois, três, um, quatro, encontrado em vinte e três.
‫OK, então tudo o que você configurou aqui, isso será encontrado.
‫E se eu procurar lá, ele vai me dar isso.
‫Começaria no índice três.
‫Vou começar e vamos.
‫Olá.
‫Meus números, um, dois, três, quatro.
‫E eles são encontrados em três porque esta é a terceira posição, nossa posição três aqui, índice três de nossa
‫string.
‫OK, esse é um exemplo de como você pode usar rejeições e dó sustenido.
‫Há mais que você pode conferir.
‫Você pode apenas verificar a documentação para isso.
‫Mas este vídeo é mais sobre a ideia geral de expressões regulares e como usá-las.