Cómo escribir expresiones regulares para codificar con javascript

Antes de poder hacer uso de una expresión regular en javascript, es necesario crear un objeto que contiene la expresión. Usted puede escribir expresiones regulares en una de dos maneras:

  • Mediante el uso de una expresión regular literal

  • A través de la función constructora del RegExp objeto

Utilizando el objeto RegExp

Al crear una expresión regular llamando al RegExp función constructora, el objeto resultante se crea en tiempo de ejecución, en lugar de cuando se carga el guión. Se debe utilizar la RegExp función constructora cuando no se conoce el valor de la expresión regular cuando usted está escribiendo el guión.

Por ejemplo, se le puede pedir al usuario que introduzca una expresión regular, o usted puede conseguir la expresión regular de una fuente externa o el cálculo de una parte de la expresión regular cuando se ejecute el script.

Este programa crea una expresión regular usando una carta al azar y luego le pide al usuario que escriba una frase. Cuando el usuario envía el formulario, el programa calcula el número de casos de la letra al azar estaban en el texto enviado por el usuario.

Carta Conteo Juego

Este es el resultado de ejecutar el programa anterior en un navegador web.

El resultado Carta Contar juego.
El resultado Carta Contar juego.

Literales de expresiones regulares

Para crear una expresión regular literal, pone el valor de la expresión regular entre barras en lugar de comillas.

Por ejemplo:

myRegularExpression var = / javascript / -

Literales de expresiones regulares son compiladas por el navegador cuando el guión se carga y se mantiene constante a través de la vida de la secuencia de comandos. El resultado es que los literales de expresiones regulares ofrecen un mejor rendimiento para las expresiones que serán inmutable.

El ejemplo anterior utiliza una expresión regular para buscar una coincidencia exacta de la cadena "javascript". Una expresión regular que contiene una cadena de caracteres que se emparejaron exactamente se llama patrón simple.

En una aplicación o programa real, tendrá que dar cuenta de los usuarios que utilizan alguna variación en la ortografía correcta. Por ejemplo, un usuario puede introducir cualquier de las siguientes palabras y claramente significa javascript:

  • javascript

  • javascript

  • java script

  • JS

  • js

Incluso puede haber variaciones más exóticas. Uno de los maravillosos y frustrantes cosas sobre cómo tratar con el aporte de personas reales es que nunca se sabe a ciencia cierta lo que van a hacer! Con el fin de ser capaz de detectar variaciones en la capitalización y la ortografía, puede utilizar expresiones regulares más sofisticados para buscar patrones o conjuntos de caracteres, y no sólo las cadenas literales.

La siguiente es una expresión regular revisado que coincidirá "javascript" al igual que "javascript" o "javascript":

myRegularExpression var = / [Jj] ava [Ss] cripta / -

Las cosas están empezando a parecer un poco extraño, pero si usted entiende el significado de los diferentes personajes, verás que esto es en realidad sigue siendo bastante simple. Los corchetes en una expresión regular definen un conjunto de caracteres y coincidirán con cualquiera de los personajes dentro de ese conjunto. Por escrito [Jj], lo que estás diciendo es que ya sea mayúscula o minúscula j coincidirán.

Prueba de expresiones regulares

A veces, cuando estás escribiendo expresiones regulares, es útil tener una manera fácil de probar una expresión para asegurarse de que está haciendo realmente lo que quieres. Un número de sitios web y herramientas puede ayudarle a probar sus expresiones regulares.

regex101.com es uno de estos sitios. Para utilizar regex101.com, escriba su expresión regular en el cuadro en la parte superior de la pantalla y escriba algún texto en el cuadro debajo de ella. El sitio revisa el texto contra el uso de la expresión regular y destaca las coincidencias que se encuentran.

Esto demuestra regex101.com usando nuestro ejemplo expresión regular para probar contra una pregunta acerca de javascript.

Usando regex101.com para probar una expresión regular.
Usando regex101.com para probar una expresión regular.

Caracteres especiales en las expresiones regulares

Las expresiones regulares permiten que usted mire para los números de cuerdas, cartas, grupos de letras, repeticiones de caracteres, y mucho más.

Para crear patrones de búsqueda complejos, puede utilizar los caracteres especiales de expresiones regulares. Los caracteres especiales más utilizados se enumeran aquí.

Carácter especialSignificado
Designa si el siguiente carácter debe ser tratada como aspecial carácter o si debe ser tratado como un literalcharacter. Si el siguiente carácter es un carácter especial, el designa que se debe tratar literalmente.
^Busca el inicio de la entrada.
$Busca el final de la entrada.
*Encuentra las anteriores carácter 0 o más veces.
+Encuentra los caracteres 1 o más veces anteriores.
?Busca el anterior carácter 0 ó 1 hora.
.Busca cualquier carácter excepto el carácter de nueva línea.
x | yEncuentra x o y.
{n}Encuentra exactamente n ocurrencias del carácter anterior.
[xyz]Encuentra cualquiera de los personajes de los soportes.
[^ xyz]Encuentra todos los caracteres que no sean los de los soportes.
[b]Encuentra un retroceso.
bEncuentra un límite de palabra.
BEncuentra un límite no palabras.
dEncuentra un personaje dígitos.
DEncuentra cualquier carácter nondigit.
nEncuentra un avance de línea.
sEncuentra un único carácter de espacio en blanco, incluyendo el espacio, tabulaciones, saltos, y salto de línea.
SEncuentra un solo carácter no blanco-espacio.
tEncuentra una ficha.
wBusca cualquier carácter alfanumérico, incluyendo anunderscore.
WBusca cualquier carácter de otro tipo.



» » » » Cómo escribir expresiones regulares para codificar con javascript