Expresiones regulares básicamente son patrones que se usan para hacer coincidir combinaciones de caracteres en cadenas y hoy les voy a contar o proporcionarles una guía completa sobre expresiones regulares.Por eso llamé a este artículo «Tutorial de expresiones regulares Guía completa«.
En otras palabras, una expresión regular es un objeto que describe un patrón de caracteres. La expresión regular, también pronunciada como regex o regexp, es una secuencia de caracteres que define un patrón de búsqueda, generalmente patrones de búsqueda que se usan para buscar o encontrar algo en una cadena.
Las expresiones regulares son cadenas de texto especiales para describir el patrón de búsqueda. Puede llamar a la expresión regular un comodín. Es posible que haya visto o que haya utilizado, si es un usuario de computadoras *.TXT para buscar todos los archivos con TXT extensión en el administrador de archivos. básicamente, este comodín *.txt es una expresión regular.
Las expresiones regulares se usan en todos los lenguajes de programación, pero en este artículo hablaremos sobre JavaScript o jQuery que la mayoría de los diseñadores y desarrolladores web usan principalmente.
¿Por qué debería aprender expresiones regulares?
Hoy en día, la mayoría de los editores de texto populares, por ejemplo bloc de notas++ también utiliza la funcionalidad de expresiones regulares para reemplazar o eliminar cualquier texto o cadena en particular del texto dado.
Estas expresiones regulares o expresiones regulares pueden ser muy beneficiosas para usted si tiene un script de texto Ling y desea eliminar o reemplazar el texto o la cadena especificados.
En Expresiones regulares de JavaScript también funciona como objetos. Estos expresiones regulares o los patrones se pueden usar con las siguientes funciones son métodos en JavaScript y jQuery.
Funciones o métodos de Javascript para usar Regex:
- prueba(), ejecutivo() métodos de RegExp
- coincidir(), coincidir con todo(), reemplazar(), búsqueda() y separar() métodos de cadena
Esta es la lista de métodos o funciones que usan expresiones regulares en JavaScript.
Métodos/Funciones que usan expresiones regulares:
Método | Descripción |
---|---|
ejecutivo() | Ejecuta una búsqueda de una coincidencia en una cadena. Devuelve una matriz de información o nulo en un desajuste. |
prueba() | Pruebas para una coincidencia en una cadena. Vuelve cierto o falso. |
coincidir() | Devuelve una matriz que contiene todas las coincidencias, incluidos los grupos de captura, o nulo si no se encuentra ninguna coincidencia. |
coincidir con todo() | Devuelve un iterador que contiene todas las coincidencias, incluidos los grupos de captura. |
búsqueda() | Pruebas para una coincidencia en una cadena. Devuelve el índice de la coincidencia, o -1 si la búsqueda falla. |
reemplazar() | Ejecuta una búsqueda de una coincidencia en una cadena y reemplaza la subcadena coincidente con una subcadena de reemplazo. |
separar() | Utiliza una expresión regular o una cadena fija para dividir una cadena en una matriz de subcadenas. |
En este artículo solo tendremos una discusión sobre Expresiones regulares de JavaScript.
Método para crear una expresión regular en JavaScript:
Literalmente, hay dos formas que se pueden usar para hacer expresiones regulares en JavaScript o el lenguaje de programación jQuery y que se describen dos formas a continuación:
var regex = /[a-z-Z-A]/;
var regex = new RegExp('[a-z-Z-A]');
Indicadores en expresiones regulares:
Las expresiones regulares consisten en algunas banderas que tienen funcionalidades como búsqueda global, búsqueda que no distingue entre mayúsculas y minúsculas, búsqueda de varias líneas, etc.
Lista de banderas en expresiones regulares:
Esta es una lista de banderas que se pueden usar en expresiones regulares para realizar funcionalidades específicas con sus descripciones. Puede leer la descripción y comprender la funcionalidad de una bandera específica y usarla en sus expresiones regulares.
Estas banderas se pueden usar al final de sus expresiones regulares después de la barra inclinada final. Huevo
Bandera | Descripción |
---|---|
gramo | El indicador g o Global regex se usa para buscar cadenas globalmente y sin este indicador en su expresión regular solo obtendrá la primera coincidencia. |
metro | La diapositiva m o Multi Line se usa para buscar coincidencias de amigos varias veces en todo el mundo. En el indicador de varias líneas, ^ y $ se utilizan para hacer coincidir el inicio y el final de la línea, respectivamente. |
I | i o la búsqueda intensiva de esta bandera no distingue entre mayúsculas y minúsculas. Esta bandera no tiene diferencia entre X (X mayúscula) o x (x pequeña) |
s | Esta bandera habilita el modo «punto todo» que permite . en la expresión regular para que coincida con la secuencia de escape de nueva línea ( n ). |
tu | Esta bandera habilita la compatibilidad total con Unicode en sus expresiones regulares y permite el procesamiento correcto de pares suplentes. |
y | Este es un indicador de expresión regular en modo fijo que se utiliza para buscar en la posición exacta en la cadena. |
X | x o la bandera extendida ignoran todos los espacios en blanco que coinciden en su cadena. |
X | X o eXtra slag no permite secuencias de escape sin sentido que ha utilizado en su expresión regular. |
tu | u o el indicador de expresión regular Unicode permite que su expresión regular coincida con Unicode completo. |
tu | u en el indicador de expresión regular Ungreedy hace que los cuantificadores utilizados en su expresión regular sean perezosos. |
j | La bandera J o Jchanged permite nombres de subpatrones duplicados en expresiones regulares. |
D | esta bandera usa el signo de dólar ($) para coincidir con el final del patrón. |
El banderas de expresiones regulares que se enumeran en la tabla anterior son utilizados principalmente por todos los lenguajes de programación, pero algunas de las banderas no son compatibles en la actualidad.
Ahora déjame darte el ejemplo del uso de métodos y funciones que usa expresiones regulares en JavaScript o jQuery.
Uso de Regex en métodos Javascript:
Regex Buscar en una cadena: str.match:
Este método encuentra todas las coincidencias en expresiones regulares en una cadena.
Código de ejemplo:
var str = "You can, you can do it.";
alert(str.match(/you/gi));
Producción:
You,you // You,you (an array of 2 substrings that match)
Reemplazo Regex en cadena: str.reemplazar:
Este método se usa para reemplazar algo en una cadena.
Código de ejemplo:
var str = "You can, you can do it.";
alert(str.replace(/You/ig, "I"));
Producción:
I can, I can do it.
Prueba de expresiones regulares: regexp.test:
Este método busca al menos una coincidencia en una cadena, si la encuentra y devuelve «cierto«de lo contrario volverá»falso«.
Código de ejemplo:
var str = "You can, you can do it.";
var regexp = /you/i;
alert(regexp.test(str));
Producción:
true
Expresión regular o hoja de trucos Regex:
La mayoría de las personas usan atajos para aprender cualquier cosa, así que para su comodidad, he creado un rápido hoja de trucos de expresiones regulares.
Estos son tokens de expresiones regulares con sus breves descripciones.
anclas | Descripción |
---|---|
^ | Comienzo de cadena o comienzo de línea en un patrón de varias líneas |
A | Comienzo de cadena |
PS | Fin de cadena o final de línea en un patrón de varias líneas |
Z | fin de cadena |
B | Límite de palabra |
B | No límite de palabras |
Comienzo de palabra | |
> | fin de palabra |
cuantificadores | Descripción | ||
---|---|---|---|
* | 0 o más | {3} | exactamente 3 |
+ | 1 o más | {3,} | 3 o más |
? | 0 o 1 | {3,5} | 3, 4 o 5 |
Grupos y Rangos | Descripción |
---|---|
. | Cualquier carácter excepto nueva línea (n) |
(a|b) | a o B |
(…) | Grupo |
(?:…) | Grupo pasivo (sin captura) |
[abc] | Rango (a o b o c) |
[^abc] | No (a o b o c) |
[a-q] | Letra minúscula de la a a la q |
[A-Q] | Letra mayúscula de la A a la Q |
[0-7] | Dígito del 0 al 7 |
X | Número de grupo/subpatrón «x» |
Secuencias de escape/meta | Descripción |
---|---|
C | Personaje de control |
s | espacio en blanco |
S | No espacio en blanco |
D | Dígito |
D | no dígito |
w | Palabra |
W | no palabra |
X | dígito hexadecimal |
O | dígito octal |
Clases de personajes | Descripción |
---|---|
Escapar del siguiente personaje | |
Q | Comenzar secuencia literal |
MI | Terminar secuencia literal |
Metacaracteres comunes | Descripción | ||
---|---|---|---|
^ | [ | . | $ |
{ | * | ( | |
+ | ) | | | ? |
< | > |
Flags or Pattern Modifiers | Description |
---|---|
g | Global match |
i * | Case-insensitive |
m * | Multiple lines |
s * | Treat string as single line |
x * | Allow comments and whitespace in pattern |
e * | Evaluate replacement |
U * | Ungreedy pattern |
POSIX | Description |
---|---|
[:upper:] | Letras mayúsculas |
[:lower:] | Letras minusculas |
[:alpha:] | todas las letras |
[:alnum:] | dígitos y letras |
[:digit:] | dígitos |
[:xdigit:] | dígitos hexadecimales |
[:punct:] | Puntuación |
[:blank:] | Espacio y tabulador |
[:space:] | Caracteres en blanco |
[:cntrl:] | Personajes de control |
[:graph:] | Caracteres impresos |
[:print:] | Caracteres y espacios impresos |
[:word:] | Dígitos, letras y guión bajo |
Caracteres especiales | Descripción |
---|---|
norte | Nueva línea |
r | Retorno de carro |
t | Pestaña |
v | Pestaña vertical |
F | Avance de formulario |
xxx | Carácter octal xxx |
xhh | carácter hexadecimal hh |
Cuerda | Reemplazo |
---|---|
$n | enésimo grupo no pasivo |
$2 | «xyz» en /^(abc(xyz))$/ |
$1 | «xyz» en /^(?:abc)(xyz)$/ |
$` | Antes de la cadena coincidente |
PS | Después de la cadena coincidente |
$+ | Última cadena coincidente |
PS | Toda la cadena coincidente |
afirmaciones | Descripción |
---|---|
?= | aserción anticipada |
?! | anticipación negativa |
?<= | Mirar detrás de la afirmación |
?!=o ?<! | Mirada negativa hacia atrás |
?> | Subexpresión de una sola vez |
?() | Condición [if then] |
?()| | Condición [if then else] |
?# | Comentario |
Hoja de trucos Regex PDF:
Si desea descargar el hoja de trucos de expresiones regulares en PDF versión también está disponible, puede descargarla desde el enlace que se proporciona a continuación.
Descargar
Ejemplos de expresiones regulares de Javascript:
Entonces, después de haberle proporcionado expresiones regulares o una hoja de trucos de expresiones regulares, ahora le proporcionaré algunos ejemplos de expresiones regulares que puede usar para practicar expresiones regulares.
var regex;
/* matching a specific string */
regex = /hello/; // looks for the string between the forward slashes (case-sensitive)... matches "hello", "hello123", "123hello123", "123hello"; doesn't match for "hell0", "Hello"
regex = /hello/i; // looks for the string between the forward slashes (case-insensitive)... matches "hello", "HelLo", "123HelLO"
regex = /hello/g; // looks for multiple occurrences of string between the forward slashes...
/* wildcards */
regex = /h.llo/; // the "." matches any one character other than a new line character... matches "hello", "hallo" but not "hnllo"
regex = /h.*llo/; // the "*" matches any character(s) zero or more times... matches "hello", "heeeeeello", "hllo", "hwarwareallo"
/* shorthand character classes */
regex = /d/; // matches any digit
regex = /D/; // matches any non-digit
regex = /w/; // matches any word character (a-z, A-Z, 0-9, _)
regex = /W/; // matches any non-word character
regex = /s/; // matches any white space character (r (carriage return),n (new line), t (tab), f (form feed))
regex = /S/; // matches any non-white space character
/* specific characters */
regex = /[aeiou]/; // matches any character in square brackets
regex = /[ck]atherine/; // matches catherine or katherine
regex = /[^aeiou]/; // matches anything except the characters in square brackets
/* character ranges */
regex = /[a-z]/; // matches all lowercase letters
regex = /[A-Z]/; // matches all uppercase letters
regex = /[e-l]/; // matches lowercase letters e to l (inclusive)
regex = /[F-P]/; // matches all uppercase letters F to P (inclusive)
regex = /[0-9]/; // matches all digits
regex = /[5-9]/; // matches any digit from 5 to 9 (inclusive)
regex = /[a-zA-Z]/; // matches all lowercase and uppercase letters
regex = /[^a-zA-Z]/; // matches non-letters
/* matching repetitions using quantifiers */
regex = /(hello){4}/; // matches "hellohellohellohello"
regex = /hello{3}/; // matches "hellooo" and "helloooo" but not "helloo"
regex = /d{3}/; // matches 3 digits ("312", "122", "111", "12312321" but not "12")
regex = /d{3,7}/; // matches digits that occur between 3 and 7 times (inclusive)
regex = /d{3,}/; // matches digits that occur at least 3 times
/* matching repetitions using star and plus */
regex = /ab*c/; // matches zero or more repetitions of "b" (matches "abc", "abbbbc", "ac")
regex = /ab+c/; // matches one or more repetitions of "b" (matches "abc", "abbbbc", but not "ac")
/* matching beginning and end items */
regex = /^[A-Z]w*/; // matches "H", "Hello", but not "hey"
regex = /w*s$/; // matches "cats", "dogs", "avocados", but not "javascript"
/* matching word boundaries
positions of word boundaries:
1. before the first character in string (if first character is a word character)
2. after the last character in the string, if the last character is a word character
3. between two characters in string, where one is a word character and the other isn't */
regex = /bmeowb/; // matches "hey meow lol", "hey:meow:lol", but not "heymeow lol"
/* groups */
regex = /it is (ice )?cold outside/; // matches "it is ice cold outside" and "it is cold outside"
regex = /it is (?:ice )?cold outside/; // same as above except it is a non-capturing group
regex = /do (cats) like taco 1/; // matches "do cats like taco cats"
regex = /do (cats) like (taco)? do 2 1 like you?/; // matches "do cats like taco? do taco cats like you?"
//branch reset group (available in Perl, PHP, R, Delphi... commented out because this is a js file)
// regex = /(?|(cat)|(dog))1/; // matches "catcat" and "dogdog"
/* alternative matching */
regex = /i like (tacos|boba|guacamole)./; // matches "i like tacos.", "i like boba.", and "i like guacamole."
/* forward reference (available in Perl, PHP, Java, Ruby, etc... commented out because this is a js file) */
// regex = /(2train|(choo))+/; // matches "choo", "choochoo", "chootrain", choochootrain", but not "train"
/* lookaheads */
regex = /z(?=a)/; // positive lookahead... matches the "z" before the "a" in pizza" but not the first "z"
regex = /z(?!a)/; // negative lookahead... matches the first "z" but not the "z" before the "a"
/* lookbehinds */
regex = /(?<=[aeiou])w/; // positive lookbehind... matches any word character that is preceded by a vowel
regex = /(?<![aeiou])w/; // negative lookbehind... matches any word character that is not preceded by a vowel
/* functions I find useful */
regex.test("hello"); // returns true if found a match, false otherwise
regex.exec("hello"); // returns result array, null otherwise
"football".replace(/foot/,"basket"); // replaces matches with second argument
Expresión regular o prueba Regex:
Puede probar sus expresiones regulares utilizando el método de prueba o la función en JavaScript y también hay una gran cantidad de software en línea y fuera de línea que le permite probar sus expresiones regulares en tiempo real.
Si es nuevo y está tratando de aprender y probar sus expresiones regulares, puede usar las siguientes herramientas que pueden ayudarlo y probar sus expresiones regulares.
Terminé con Regex Tutorial:
Terminé con el tutorial o artículo de expresiones regulares ahora, espero que haya aprendido lo que desea aprender. Si tiene alguna pregunta o consulta, puede comentarla en la sección de comentarios y después de leer este artículo, estoy seguro de que ahora estará. capaz de hacer sus propias expresiones regulares y usarlas en sus programas si es programador.