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:
Conteúdo
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.
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.
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 especial | Significado |
---|---|
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 | y | Encuentra 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. |
b | Encuentra un límite de palabra. |
B | Encuentra un límite no palabras. |
d | Encuentra un personaje dígitos. |
D | Encuentra cualquier carácter nondigit. |
n | Encuentra un avance de línea. |
s | Encuentra un único carácter de espacio en blanco, incluyendo el espacio, tabulaciones, saltos, y salto de línea. |
S | Encuentra un solo carácter no blanco-espacio. |
t | Encuentra una ficha. |
w | Busca cualquier carácter alfanumérico, incluyendo anunderscore. |
W | Busca cualquier carácter de otro tipo. |