Javascript Expressão regular

Javascript Expressão regular
Muitos programadores estão familiarizados com a noção de que a expressão regular é um conceito útil e subestimado. Mas eles não sabem muito bem como usar expressões regulares com eficiência. Expressões regulares são usadas não apenas em JavaScript, mas quase todas as outras linguagens de programação. Neste artigo, você aprenderá sobre expressões regulares passo a passo. Deve ser fácil para programadores de qualquer nível entender os conceitos abordados neste artigo.

A Expressão regular é um objeto em que os padrões são dados para combinar com a corda desejada.

Sintaxe

A sintaxe para uma expressão regular é muito simples e pode ser escrita da seguinte maneira:

/padrão/bandeiras

A padrão é uma string na qual você fornece um padrão para combinar com outra string.
Bandeiras são atributos opcionais que servem a propósitos variados. Por exemplo, a bandeira "G" significa "Global", entre muitos outros.

O escopo das expressões regulares é muito amplo. Mostraremos os básicos mais necessários para a programação através de uma explicação passo a passo e alguns exemplos da vida real.

Existem muitos métodos nos quais você pode precisar usar expressões regulares, por exemplo, nos métodos de pesquisa de JavaScript (), substituir (), match () e split (). Começaremos com uma simples pesquisa de string sem usar a expressão regular e, mais tarde, mostraremos como executar a mesma pesquisa usando expressões regulares.

Exemplos

Primeiro, suporemos a string:

deixe str = "linuxhint é ótimo. Linuxhint está funcionando muito bem e realizando 100%."

Repetimos a mesma palavra “ótimo" e "Linuxhint”Na frase. O objetivo dessa corda estranha se tornará óbvio em um momento.

Tudo bem! Agora, simplesmente escreveremos o método de string de pesquisa JavaScript para pesquisar o termo "trabalho"

str.pesquisa ("trabalho");


Como você pode ver, ele mostra o índice de onde o “trabalho” da substring fornecido. Agora, seguiremos em frente e tentaremos fazer a mesma coisa com a sintaxe regex.

Etapa 1: Pesquise e substitua uma substring

Você pode procurar uma string correspondente usando uma expressão regular, simplesmente colocando a substring entre as duas barras na expressão.

str.pesquisa (/trabalho/);


Como você pode ver, também nos deu a mesma saída.

Tudo bem! Agora, veremos o que podemos fazer com a expressão regular. Vamos tentar substituir a palavra “ótimo"Com, digamos,"incrível”Usando o método substituir ().

str.substituir ("ótimo", "incrível");


Aqui, você pode ver o problema: a primeira ocorrência de “ótimo”Foi substituído, mas o segundo não.

Na primeira etapa, você simplesmente aprendeu a procurar uma string usando uma expressão regular. Agora, seguiremos em direção à próxima etapa e aprenderemos sobre o conceito de bandeiras.

Etapa 2: Bandeiras

Nesta etapa, você aprenderá mais sobre o conceito e o objetivo das bandeiras em expressões regulares. Usaremos o método de substituição de JavaScript para explicar essa ideia.

Se você quiser substituir todas as ocorrências de “ótimo,”Você pode usar a expressão regular com o 'g'Flag, que é curta para global.

str.substitua (/grande/g, "Awesome");


Perfeito, todas as ocorrências de "ótimas" agora são alteradas. Mas você pode enfrentar um problema se tentar mudar todas as ocorrências de "Linuxhint" para, digamos, "nosso site" usando a mesma técnica.

Vamos tentar fazer isso primeiro, então veremos como podemos resolver esse problema.

str.substituir (/linuxhint/g, "nosso site");


Embora tenhamos fornecido à bandeira global a expressão regular, a primeira ocorrência não muda. Isto é por causa da sensibilidade ao caso. Então, também precisaremos fornecer a bandeira de insensibilidade ao caso 'eu,' nesse caso. Você pode fazer isso simplesmente adicionando o 'eu'bandeira junto com o'g' bandeira.

str.substituir (/linuxhint/gi, "nosso site");


Ótimo. Como você pode ver, todas as ocorrências do termo “Linuxhint”Foram alterados para o termo“nosso site,”Independentemente da sensibilidade ao caso.

Da mesma forma, você pode usar expressões regulares na função Split () de JavaScript.

str.divisão (/linuxhint/gi);


Tudo bem! A função funcionou bem. O método split () retornou a matriz de substrings, com base no termo "linuxhint". Mas, se você quiser incluir os separadores também, na matriz da substring, terá que brincar com os padrões.

Então, nesta etapa, aprendemos sobre as bandeiras e como elas nos ajudam. Existem mais bandeiras disponíveis. Por exemplo, "M" é para correspondência multilina, "S" é para DOT All, etc. Agora, seguiremos para o conceito de padrões e aprenderemos a usar esses itens.

Etapa 3: Padrões

Nesta etapa, você aprenderá como utilizar os padrões e opções relacionadas.
Para incluir os separadores na matriz da substring, basta adicionar parênteses ao redor do padrão, como pode ser visto na seguinte imagem:

str.divisão (/(Linuxhint)/GI);


Perfeito! Como você pode ver, os separadores também estão incluídos na variedade de substringas.

Para dividir a base de dois separadores, você pode dar várias substâncias em uma expressão regular usando o ou “|” operador.

str.dividido (/linuxhint | grande/gi);


Tudo bem! O operador funcionou muito bem, pois esperamos que se dividisse.

Barragem

Agora, para se separar entre a base do espaço ““ ou o ponto “.”O que significa adicionar caracteres especiais na expressão regular, adicione uma barra de barra“ \ ”antes de qualquer caractere especial.

str.dividido (/\ | \./gi);


Ok, até agora, tudo bem. Por exemplo, digamos, você deseja transformar os pontos em vírgulas na seguinte expressão:

str.substituir(/\./g, ",");


Funcionou!

As barris também são usadas para outro propósito. Para pesquisar qualquer palavra, dígito ou espaço, você pode usar \ w, \ d e \ s, respectivamente. Por exemplo, para substituir os espaços por traços, a seguinte expressão é usada:

str.substituir (/\ s/g, "-");


Incrível! Você pode realmente ver o potencial em expressões regulares, agora.

Suportes quadrados []

Se você deseja substituir vários caracteres em uma string, você pode fornecer todos eles em um único suporte quadrado e eles serão substituídos pela substring dada. Por exemplo, se você deseja substituir três letras em uma corda e não deseja colocar muito ou "|" Operadores na expressão regular, você pode usar a sintaxe do suporte quadrado, no qual pode dar várias letras, como esta:

str.substituir (/[nia]/g, "u");


Você pode até dar uma variedade de letras, assim:

str.substituir (/[g-l]/g, "u");


Ou uma série de números:

str.substituir (/[0-5]/g, "9");


E, se você deseja excluir os caracteres fornecidos entre colchetes, você pode usar o personagem Caret, como este:

str.substituir (/[^g-l]/g, "t");


Isso é útil ao obter dados de usuários e testar e validar esses dados, especialmente em validação por e -mail, telefone ou data.

Conclusão

Este artigo acabou de arranhar a superfície do JavaScript Regular Expression. Ele abrange os conceitos apenas do iniciante ao nível intermediário. Há muito mais a aprender sobre a expressão regular, e você pode usar essa expressão para fazer muitas coisas que você nem sequer pensou. Para continuar aprendendo, trabalhando e obtendo mais experiência em JavaScript, confira mais artigos sobre este tópico no Linuxhint.com.