SlideShare una empresa de Scribd logo
1 de 20
Expresiones Regulares
RegExp JavaScript
Jorge Granados Jurado
Isabel María Gómez Palomeque
RegExp Objeto
 RegExp es un objeto que describe un patrón de caracteres. Se usa para
simplificar código y no tener que implementar demasiadas comprobaciones.
 Sintaxis:
 Ejemplo de expresión regular completa:
 Una expresión regular se compone de:
 Patrón o patrones, será la expresión que sea buscada al ejecutar la expresión regular.
 Modificadores, se utilizan para hacer búsquedas globales o insensibles a mayúsculas y
minúsculas.
Distintas formas de declarar expresión
regular en JavaScript
 var patron = /hola/;
 patron.test("hola");
 -->Declaración de un patrón
 var regExp = new RegExp(/hola/);
 regExp.test('hola');
 -->Declaración correcta del objeto RegExp. Da acceso a métodos exclusivos de
RegExp.
 var cadena = "hola";
 /hola/.test(cadena);
 --> No es una declaración porque se borraría el contenido
RegExp Creación de patrones
 Web para probar expresiones regulares: https://regexr.com/
 Letras:
 . Un carácter sea el que sea Ejemplo: .an = pan lan wan
 [a-z] Un carácter en minúscula o [A-Z] en mayúsculas
 [A-Za-z] mayúsculas y minúsculas
 [A-Za-záéíóúñÁÉÍÓÚÑ] así sería un carácter que admita acentos y la ñ
 w+ detecta una palabra entera sin espacios
 Números:
 [0-9] un dígito entre 0 y 9
 d un dígito dd dos dígitos juntos
 Caracteres especiales:
 (carácter especial) Ejemplo: * o bien, 
 Unicodes: u00A9
 Espacios en blanco: s 
 Tab t , salto de línea n , retorno de carro r
RegEx. Modificadores del patrón
 El punto “.”
El punto se convierte en cualquier carácter, es decir si ponemos la palabra .an , el punto
podrá ser cualquier letra, saldrían palabras tipo: Pan,Can,Lan…etc. Si deseamos que el
Punto haga función de punto debemos ponerlo así: .
 La barra invertida o diagonal invertida “”
Convierte los meta-caracteres a caracteres, es decir, con su significado literal: “.” Esto se
suele usar para buscar IPs, por ejemplo si estamos buscando la IP 198.163.1.1 --
> 198.163.1.1
 Corchetes []
Los corchetes los utilizamos para agrupar una serie de caracteres con los que puede
coincidir la búsqueda, el ejemplo más sencillo son las mayúsculas y las minúsculas
[Rr]oberto.
Para que coincida con palabras, debemos añadir el meta-carácter de alternancia “|” entre
ellas es decir [perro|casa|coche].
RegEx. Modificadores del patrón III
 Anchor ^ $
El símbolo ^ obliga a GA a empezar la búsqueda por el término que le definamos es
decir ^Developer todo lo que encuentre deberá empezar por esa palabra. Si el
símbolo ^ se encuentra dentro de corchetes [] como por ejemplo [^0-9] significa NO,
en este caso no nos mostrará ningún número.
El símbolo $ se utiliza para indicar como termina una línea es decir Developer$ lo
que encuentre tendrá como final la palabra indicada.
Ejemplo: /^hola/ -->Un texto empieza por hola o simplemente contiene hola.
/adiós$/ -->Un texto termina con la palabra adiós
/^contraseña$/ --> Un texto empieza y termina por la palabra contraseña
RegEx. Modificadores del patrón II
 Repetición ?+*{}
Estos símbolos (interrogación, más, asterisco, llaves) nos permiten definir cuantas veces se va a repetir
o va a aparecer el símbolo anterior.
 El “+” indica uno o más para el carácter anterior. Con el ejemplo anterior sería 123* = 123 o 1233 o
12333 o 12333…. Etc. Pero nunca 12 como en el anterior.
 El asterisco “*” es una mezcla de los dos anteriores, es decir cero, uno o más. Por ejemplo: 123* nos
mostraría 12 o 123 o 1233 o 12333…. Etc.
 Las llaves “{}” se utilizan para repetir un número exacto de veces. Un ejemplo sería [0-9]{5} Esto
significa, en el rango 0-9 nos coja los grupos de 5 dígitos 23451 o 12345 o 98760 por ejemplo.
 Agrupar () |
Los paréntesis nos permiten agrupar caracteres.
La barra vertical es lo mismo que decir “o” en una lista: Queremos que GA nos
encuentre casa|coche|perro es decir casa o coche o perro.
RegExp. Escapes de carácter
 La barra diagonal inversa () en una expresión regular indica una de las
siguientes situaciones:
 El carácter que va detrás es especial. Unicodes u00E0 (á), delimitadores b
(espacios en blanco), caracteres t (tabulación)
 Caracteres literales Expresión regular: { ... } = Resultado: {…}
 Algunos caracteres especiales serían:
•
Espaci
os en
blanco
tabul
ación
retorno
de carro
Tab
vertica
l
avance
de
página
nueva
línea
Escape Octal Hexad
ecimal
Ctrl+c UTF-16
*  ?
a b t r v f n e  nnn x nn c X u nn
nn
 *
x2A
u0007 u0008 u000
9
u000D u000B u000C u000A u001B 040 2 cC
RegExp. Escapes de Carácter II
 Agrupación de caracteres [primerCarácter-últimoCarácter] Ejemplo: [a-z]
 Grupo de caracteres negativos [^] Ejemplo: [^(1|2|3|4|5|6|7)] Que no sea 1,2,3,4,5,6 o
7
 El patrón se inicia con ^ y se termina con $ Ejemplo: ^hola (la palabra empieza con hola)
^hola$ (la palabra empieza y termina buscando sólo hola, si tiene algo más lo descarta)
 Cualquier carácter .
 Carácter de palabra w = [a-zA-Z_0-9]
 Carácter que no se usa en las palabras W
 Carácter de espacio en blanco s
 Carácter que no sea espacio en blanco S
 Carácter de dígito decimal d
 Carácter que no sea dígito decimal D
 Límite palabra o del texto definido por b Ejemplo: yb el texto finalizará con y
RegExp. Cuantificadores
 Con ellos se determinan la cantidad de veces que aparece un determinado
patrón en la expresión regular.
 * 0 o más coincidencias con el patrón
 + 1 o más coincidencias
 ? 1 o ninguna coincidencia
 {n} una cantidad n de coincidencias
 {min,} cantidad mínima de repeticiones
 {min,max} una cantidad mínima de min hasta max coincidencias
 (hola) paréntesis de captura, se usan para aplicarle algún modificador
 (hola)1 = 123123 Se repite un bloque almacenado entre paréntesis
 (hola)* = holaholaholahola Se repite hasta que identifique un espacio o un
carácter que no coincida con el patrón
 (hola)+ = hola hola hola Identifica todas las palabras que cumplan con ese
patrón
RegExp Usos.
 Se usan para ahorrarse complicadas comprobaciones algorítmicas algunos usos
serían:
 DNI: (d){8}[TRWAGMYFPDXBNJZSQVHLCKEtrwagyfpdxbnjzsqvhlcke]
 Email: (W|^)[w.+-]{0,25}@(yahoo|hotmail|gmail).com(W|$)
 IP: 192.168.1.d{1,3}
 Password: ^(?=.*d)(?=.*[!-u002bu003c-u0040])(?=.*[A-Z])(?=.*[a-z])S{8,16}$
 Páginas web /^www.w+.w+$/gi
 Matrículas ([A-Z]{1,2})(d{4})([A-Z]{0,2})
 Número de teléfono móvil: [6-7](d){2}-?(d){2}-?(d){2}-?(d){2}
 Introducir sólo números o letras ^[a-zA-Z]*$ (letras) ^d*$ (numeros)
 Introducir números y letras w+
RegEx. Prototype object
 Representa el objeto prototype de la clase RegEx.
 La cual posee diversos métodos asociados:
 RegExp.prototype.exec()
Ejecuta una búsqueda de una coincidencia en su parámetro de cadena
 RegExp.prototype.test()
Prueba una coincidencia en su parámetro de cadena.
 RegExp.prototype[@@match]()
Realiza la coincidencia con una cadena dada y devuelve el resultado del emparejamiento.
 RegExp.prototype[@@replace]()
Reemplaza las coincidencias en cadena dada con nueva subcadena.
 RegExp.prototype[@@search]()
Busca la coincidencia en una cadena dada y devuelve el índice del patrón encontrado en la
cadena.
 RegExp.prototype[@@split]()
Divide cadena dada en una matriz separando la cadena en subcadena.
 RegExp.prototype.toString()
Devuelve una cadena que representa el objeto especificado. Anula
el Object.prototype.toString()método.
RegEx. Funciones asociadas.
replace() match()
 'abc'.replace(/a/, 'A');
 /a/[Symbol.replace]('abc', 'A');
 var re = /-/g;
 var str = '2016-01-01';
 var newstr = re[Symbol.replace](str,
'.');
 console.log(newstr); // 2016.01.01
'abc'.match(/a/);
/a/[Symbol.match]('abc');
var re = /[0-9]+/g;
var str = '2016-01-02';
var result = re[Symbol.match](str);
console.log(result); // ["2016", "01", "02"]
RegEx. Search() toString()
 'abc'.search(/a/);
 /a/[Symbol.search]('abc');
 var re = /-/g;
 var str = '2016-01-02';
 var result =
re[Symbol.search](str);
 console.log(result); // 4
var patt = new RegExp("Hello World", "g");
var res = patt.toString();
Resultado:
/Hello World/g
RegEx. Exec()
 var myRe = /ab*/g;
 var str = 'abbcdefabh';
 var myArray;
 while ((myArray =
myRe.exec(str)) !== null) {
 var msg = 'Found '
+ myArray[0] + '. ';
 msg += 'Next match starts at
' + myRe.lastIndex;
 console.log(msg);
 }
 Resultado:
 Found abb. Next match starts at 3
 Found ab. Next match starts at 9
 Se usa cuando el patrón se repite
varias veces, éste se almacena en
un array que se va recorriendo y
cada vez que encuentra una se
muestra.
RegEx. Split() test()
 'a-b-c'.split(/-/);
 /-/[Symbol.split]('a-b-c');
 var re = /-/g;
 var str = '2016-01-02';
 var result =
re[Symbol.split](str);
 console.log(result); //
["2016", "01", "02"]
 Se usa para trocear una
cadena y generar así
un array.
 var regexObj = /ab*/g;
 var cadena = 'abbcdefabh';
 regexObj.test(cadena);
 //true si contiene el patrón
 //false si no lo contiene
Fuentes y recursos
 http://www.robertoballester.com/pequeno-manual-sobre-expresiones-regulares-regex/
 https://eloquentjavascript.net/09_regexp.html
 https://www.w3schools.com/jsref/jsref_obj_regexp.asp
 https://support.google.com/a/answer/1371417?hl=es
 https://es.wikibooks.org/wiki/Algoritmia/Algoritmo_para_obtener_la_letra_del_NIF
 https://msdn.microsoft.com/es-es/library/4edbef7e(v=vs.110).aspx
 https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/RegExp/te
st
 https://stackoverflow.com/questions/13210194/javascript-regex-equivalent-of-a-za-z-using-pl
 http://www.asciitable.com/
 https://regexr.com/
¿Dudas?
 Resumen:
 Expresion regular = patrón + modificadores + cuantificadores
 Hay 3 formas de usar expresiones regulares:
 /hola/.test('hola');
 var patron = /hola/;
 var regExp = new RegExp(/hola/);
 Modificadores del patrón:
 El punto “.”
 La barra invertida o diagonal invertida “”
 Corchetes []
 Repetición ?+*{}
 Agrupar () |
 Anchor ^ $
 Prototype es un objeto de la clase RegEx
 Métodos asociados al objeto prototype son:
 exec(), test(), match(), replace(), search(), split(), toString().
Vías de contacto:
 ISABEL MARÍA GÓMEZ PALOMEQUE
HTTPS://GITHUB.COM/ISALLUNIA
HTTP://TUTORIALESDESARROLLOWEB.16MB.COM/
HTTPS://WWW.YOUTUBE.COM/CHANNEL/UC2XBHHST5EJOYYUJVMOOBDA
 JORGE GRANADOS JURADO
 @JORGEGJ961
 JORGE.YORKA@GMAIL.COM
Fin de la Presentación

Más contenido relacionado

La actualidad más candente

Motor De Bases De Datos Oracle
Motor De Bases De Datos OracleMotor De Bases De Datos Oracle
Motor De Bases De Datos Oracletriana25
 
DIBUJO EN JFRAME CASA
DIBUJO EN JFRAME CASADIBUJO EN JFRAME CASA
DIBUJO EN JFRAME CASAAnel Sosa
 
Pmo informatica plantilla de plan de pruebas de software
Pmo informatica plantilla de plan de pruebas de softwarePmo informatica plantilla de plan de pruebas de software
Pmo informatica plantilla de plan de pruebas de softwareCarina Lifschitz
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automataJacqui Venegas
 
Unidad II. Modelo de Datos
Unidad II. Modelo de DatosUnidad II. Modelo de Datos
Unidad II. Modelo de Datosucbasededatos
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalclaudyabra
 
Predicados sql tarea 8
Predicados sql tarea 8Predicados sql tarea 8
Predicados sql tarea 8Alex Yungan
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguajeLaura Folgado Galache
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansEmerson Garay
 
Estructura de Datos, Multilistas
Estructura de Datos, MultilistasEstructura de Datos, Multilistas
Estructura de Datos, MultilistasCristhian Rosales
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consultaMaria Garcia
 
Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3David Motta Baldarrago
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASEI R
 

La actualidad más candente (20)

Motor De Bases De Datos Oracle
Motor De Bases De Datos OracleMotor De Bases De Datos Oracle
Motor De Bases De Datos Oracle
 
DIBUJO EN JFRAME CASA
DIBUJO EN JFRAME CASADIBUJO EN JFRAME CASA
DIBUJO EN JFRAME CASA
 
Pmo informatica plantilla de plan de pruebas de software
Pmo informatica plantilla de plan de pruebas de softwarePmo informatica plantilla de plan de pruebas de software
Pmo informatica plantilla de plan de pruebas de software
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
Unidad II. Modelo de Datos
Unidad II. Modelo de DatosUnidad II. Modelo de Datos
Unidad II. Modelo de Datos
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Predicados sql tarea 8
Predicados sql tarea 8Predicados sql tarea 8
Predicados sql tarea 8
 
2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje2. Manejo de la sintaxis del lenguaje
2. Manejo de la sintaxis del lenguaje
 
JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)
 
Ado net
Ado netAdo net
Ado net
 
Presentacion PL/SQL
Presentacion PL/SQLPresentacion PL/SQL
Presentacion PL/SQL
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
 
Estructura de Datos, Multilistas
Estructura de Datos, MultilistasEstructura de Datos, Multilistas
Estructura de Datos, Multilistas
 
Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consulta
 
HTML & HTML5
HTML & HTML5HTML & HTML5
HTML & HTML5
 
Diagrama de dominio armando
Diagrama de dominio armandoDiagrama de dominio armando
Diagrama de dominio armando
 
Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASE
 

Similar a RegExp JavaScript Expresiones Regulares

Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regularesJordan-P
 
Cheat Sheet: Expresiones regulares para analistas
Cheat Sheet: Expresiones regulares para analistasCheat Sheet: Expresiones regulares para analistas
Cheat Sheet: Expresiones regulares para analistasAukera
 
Clase 05-expresiones-regulares
Clase 05-expresiones-regularesClase 05-expresiones-regulares
Clase 05-expresiones-regularesDanielMrquez25
 
Perl6 expresiones regulares
Perl6 expresiones regularesPerl6 expresiones regulares
Perl6 expresiones regularesAlfonso Alba
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gioRobert Wolf
 
Manual php lec13.validacion_de_formularios
Manual php lec13.validacion_de_formulariosManual php lec13.validacion_de_formularios
Manual php lec13.validacion_de_formulariosPedro Ruiz
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónAna Ruth G H
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaAna Ruth G H
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionandreinagracielarojasadam
 
Capitulo 8 Cadenas
Capitulo 8  CadenasCapitulo 8  Cadenas
Capitulo 8 Cadenasguest506dc9
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis LexicoFARIDROJAS
 

Similar a RegExp JavaScript Expresiones Regulares (20)

Clase 10 expresiones regulares
Clase 10 expresiones regularesClase 10 expresiones regulares
Clase 10 expresiones regulares
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
!Prograc6
!Prograc6!Prograc6
!Prograc6
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Cheat Sheet: Expresiones regulares para analistas
Cheat Sheet: Expresiones regulares para analistasCheat Sheet: Expresiones regulares para analistas
Cheat Sheet: Expresiones regulares para analistas
 
Clase 05-expresiones-regulares
Clase 05-expresiones-regularesClase 05-expresiones-regulares
Clase 05-expresiones-regulares
 
Intro a ruby
Intro a rubyIntro a ruby
Intro a ruby
 
Perl6 expresiones regulares
Perl6 expresiones regularesPerl6 expresiones regulares
Perl6 expresiones regulares
 
Tema 11 expresiones regulares en java por gio
Tema 11   expresiones regulares en java por gioTema 11   expresiones regulares en java por gio
Tema 11 expresiones regulares en java por gio
 
Cadenas
CadenasCadenas
Cadenas
 
Arreglos
ArreglosArreglos
Arreglos
 
Manual php lec13.validacion_de_formularios
Manual php lec13.validacion_de_formulariosManual php lec13.validacion_de_formularios
Manual php lec13.validacion_de_formularios
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y Java
 
Ruby 01
Ruby 01Ruby 01
Ruby 01
 
Ruby
Ruby Ruby
Ruby
 
Editor de ecuaciones_del_word
Editor de ecuaciones_del_wordEditor de ecuaciones_del_word
Editor de ecuaciones_del_word
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Capitulo 8 Cadenas
Capitulo 8  CadenasCapitulo 8  Cadenas
Capitulo 8 Cadenas
 
Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 

Más de Isabel Gómez

HTTP 1 y 2 Ventajas e Inconvenientes
HTTP 1 y 2 Ventajas e InconvenientesHTTP 1 y 2 Ventajas e Inconvenientes
HTTP 1 y 2 Ventajas e InconvenientesIsabel Gómez
 
Formación y Orientación Laboral: Convenio Colectivo
Formación y Orientación Laboral: Convenio ColectivoFormación y Orientación Laboral: Convenio Colectivo
Formación y Orientación Laboral: Convenio ColectivoIsabel Gómez
 
Documentacion de las pruebas normas y certificaciones de software.
Documentacion de las pruebas normas y certificaciones de software.Documentacion de las pruebas normas y certificaciones de software.
Documentacion de las pruebas normas y certificaciones de software.Isabel Gómez
 
Prueba del Camino Básico.Clase Matemáticas Ampliación.
Prueba del Camino Básico.Clase Matemáticas Ampliación.Prueba del Camino Básico.Clase Matemáticas Ampliación.
Prueba del Camino Básico.Clase Matemáticas Ampliación.Isabel Gómez
 
Usar el depurador en Eclipse Mars.
Usar el depurador en Eclipse Mars.Usar el depurador en Eclipse Mars.
Usar el depurador en Eclipse Mars.Isabel Gómez
 
Actividad 1.1 cuestiones sobre conceptos básicos de sgbd.
Actividad 1.1 cuestiones sobre conceptos básicos de sgbd.Actividad 1.1 cuestiones sobre conceptos básicos de sgbd.
Actividad 1.1 cuestiones sobre conceptos básicos de sgbd.Isabel Gómez
 
Pruebas caja Blanca.Conceptos Clave.
Pruebas caja Blanca.Conceptos Clave.Pruebas caja Blanca.Conceptos Clave.
Pruebas caja Blanca.Conceptos Clave.Isabel Gómez
 
Ruby On Rails definición, instalación y videotutorial
Ruby On Rails definición, instalación y videotutorialRuby On Rails definición, instalación y videotutorial
Ruby On Rails definición, instalación y videotutorialIsabel Gómez
 
Tutorial de Cómo Instalar Ruby On Rails
Tutorial de Cómo Instalar Ruby On RailsTutorial de Cómo Instalar Ruby On Rails
Tutorial de Cómo Instalar Ruby On RailsIsabel Gómez
 
Entornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de SoftwareEntornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de SoftwareIsabel Gómez
 
Codificación. Pdf Código Fuente, Objeto y Ejecutable.
Codificación. Pdf Código Fuente, Objeto y Ejecutable.Codificación. Pdf Código Fuente, Objeto y Ejecutable.
Codificación. Pdf Código Fuente, Objeto y Ejecutable.Isabel Gómez
 
Codificación. Código Fuente, Objeto y Ejecutable.
Codificación. Código Fuente, Objeto y Ejecutable.Codificación. Código Fuente, Objeto y Ejecutable.
Codificación. Código Fuente, Objeto y Ejecutable.Isabel Gómez
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQLIsabel Gómez
 
Actividad 1.2 cuestionario sobre SGBD
Actividad 1.2 cuestionario sobre SGBDActividad 1.2 cuestionario sobre SGBD
Actividad 1.2 cuestionario sobre SGBDIsabel Gómez
 
Actividad 1.1 Cuestiones sobre conceptos básicos de SGBD.
Actividad 1.1 Cuestiones sobre conceptos básicos de SGBD.Actividad 1.1 Cuestiones sobre conceptos básicos de SGBD.
Actividad 1.1 Cuestiones sobre conceptos básicos de SGBD.Isabel Gómez
 
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.Isabel Gómez
 
Actividades acerca de la Historia de los Sistemas informáticos
Actividades acerca de la Historia de los Sistemas informáticosActividades acerca de la Historia de los Sistemas informáticos
Actividades acerca de la Historia de los Sistemas informáticosIsabel Gómez
 
Proyecto Hola Mundo java.Programación.
Proyecto Hola Mundo java.Programación.Proyecto Hola Mundo java.Programación.
Proyecto Hola Mundo java.Programación.Isabel Gómez
 
Características Java
Características JavaCaracterísticas Java
Características JavaIsabel Gómez
 
Clasificación sistemas de información
Clasificación sistemas de informaciónClasificación sistemas de información
Clasificación sistemas de informaciónIsabel Gómez
 

Más de Isabel Gómez (20)

HTTP 1 y 2 Ventajas e Inconvenientes
HTTP 1 y 2 Ventajas e InconvenientesHTTP 1 y 2 Ventajas e Inconvenientes
HTTP 1 y 2 Ventajas e Inconvenientes
 
Formación y Orientación Laboral: Convenio Colectivo
Formación y Orientación Laboral: Convenio ColectivoFormación y Orientación Laboral: Convenio Colectivo
Formación y Orientación Laboral: Convenio Colectivo
 
Documentacion de las pruebas normas y certificaciones de software.
Documentacion de las pruebas normas y certificaciones de software.Documentacion de las pruebas normas y certificaciones de software.
Documentacion de las pruebas normas y certificaciones de software.
 
Prueba del Camino Básico.Clase Matemáticas Ampliación.
Prueba del Camino Básico.Clase Matemáticas Ampliación.Prueba del Camino Básico.Clase Matemáticas Ampliación.
Prueba del Camino Básico.Clase Matemáticas Ampliación.
 
Usar el depurador en Eclipse Mars.
Usar el depurador en Eclipse Mars.Usar el depurador en Eclipse Mars.
Usar el depurador en Eclipse Mars.
 
Actividad 1.1 cuestiones sobre conceptos básicos de sgbd.
Actividad 1.1 cuestiones sobre conceptos básicos de sgbd.Actividad 1.1 cuestiones sobre conceptos básicos de sgbd.
Actividad 1.1 cuestiones sobre conceptos básicos de sgbd.
 
Pruebas caja Blanca.Conceptos Clave.
Pruebas caja Blanca.Conceptos Clave.Pruebas caja Blanca.Conceptos Clave.
Pruebas caja Blanca.Conceptos Clave.
 
Ruby On Rails definición, instalación y videotutorial
Ruby On Rails definición, instalación y videotutorialRuby On Rails definición, instalación y videotutorial
Ruby On Rails definición, instalación y videotutorial
 
Tutorial de Cómo Instalar Ruby On Rails
Tutorial de Cómo Instalar Ruby On RailsTutorial de Cómo Instalar Ruby On Rails
Tutorial de Cómo Instalar Ruby On Rails
 
Entornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de SoftwareEntornos de desarrollo: Desarrollo de Software
Entornos de desarrollo: Desarrollo de Software
 
Codificación. Pdf Código Fuente, Objeto y Ejecutable.
Codificación. Pdf Código Fuente, Objeto y Ejecutable.Codificación. Pdf Código Fuente, Objeto y Ejecutable.
Codificación. Pdf Código Fuente, Objeto y Ejecutable.
 
Codificación. Código Fuente, Objeto y Ejecutable.
Codificación. Código Fuente, Objeto y Ejecutable.Codificación. Código Fuente, Objeto y Ejecutable.
Codificación. Código Fuente, Objeto y Ejecutable.
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQL
 
Actividad 1.2 cuestionario sobre SGBD
Actividad 1.2 cuestionario sobre SGBDActividad 1.2 cuestionario sobre SGBD
Actividad 1.2 cuestionario sobre SGBD
 
Actividad 1.1 Cuestiones sobre conceptos básicos de SGBD.
Actividad 1.1 Cuestiones sobre conceptos básicos de SGBD.Actividad 1.1 Cuestiones sobre conceptos básicos de SGBD.
Actividad 1.1 Cuestiones sobre conceptos básicos de SGBD.
 
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
Ejercicios de Java Básico. Listado 1 de Ejercicios.Programación.
 
Actividades acerca de la Historia de los Sistemas informáticos
Actividades acerca de la Historia de los Sistemas informáticosActividades acerca de la Historia de los Sistemas informáticos
Actividades acerca de la Historia de los Sistemas informáticos
 
Proyecto Hola Mundo java.Programación.
Proyecto Hola Mundo java.Programación.Proyecto Hola Mundo java.Programación.
Proyecto Hola Mundo java.Programación.
 
Características Java
Características JavaCaracterísticas Java
Características Java
 
Clasificación sistemas de información
Clasificación sistemas de informaciónClasificación sistemas de información
Clasificación sistemas de información
 

Último

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMcespitiacardales
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 

Último (10)

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COMCOMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
COMOGANARAMIGODPARACRISTOIGLESIAADVENTISTANECOCLI,COM
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 

RegExp JavaScript Expresiones Regulares

  • 1. Expresiones Regulares RegExp JavaScript Jorge Granados Jurado Isabel María Gómez Palomeque
  • 2. RegExp Objeto  RegExp es un objeto que describe un patrón de caracteres. Se usa para simplificar código y no tener que implementar demasiadas comprobaciones.  Sintaxis:  Ejemplo de expresión regular completa:  Una expresión regular se compone de:  Patrón o patrones, será la expresión que sea buscada al ejecutar la expresión regular.  Modificadores, se utilizan para hacer búsquedas globales o insensibles a mayúsculas y minúsculas.
  • 3. Distintas formas de declarar expresión regular en JavaScript  var patron = /hola/;  patron.test("hola");  -->Declaración de un patrón  var regExp = new RegExp(/hola/);  regExp.test('hola');  -->Declaración correcta del objeto RegExp. Da acceso a métodos exclusivos de RegExp.  var cadena = "hola";  /hola/.test(cadena);  --> No es una declaración porque se borraría el contenido
  • 4. RegExp Creación de patrones  Web para probar expresiones regulares: https://regexr.com/  Letras:  . Un carácter sea el que sea Ejemplo: .an = pan lan wan  [a-z] Un carácter en minúscula o [A-Z] en mayúsculas  [A-Za-z] mayúsculas y minúsculas  [A-Za-záéíóúñÁÉÍÓÚÑ] así sería un carácter que admita acentos y la ñ  w+ detecta una palabra entera sin espacios  Números:  [0-9] un dígito entre 0 y 9  d un dígito dd dos dígitos juntos  Caracteres especiales:  (carácter especial) Ejemplo: * o bien,  Unicodes: u00A9  Espacios en blanco: s  Tab t , salto de línea n , retorno de carro r
  • 5. RegEx. Modificadores del patrón  El punto “.” El punto se convierte en cualquier carácter, es decir si ponemos la palabra .an , el punto podrá ser cualquier letra, saldrían palabras tipo: Pan,Can,Lan…etc. Si deseamos que el Punto haga función de punto debemos ponerlo así: .  La barra invertida o diagonal invertida “” Convierte los meta-caracteres a caracteres, es decir, con su significado literal: “.” Esto se suele usar para buscar IPs, por ejemplo si estamos buscando la IP 198.163.1.1 -- > 198.163.1.1  Corchetes [] Los corchetes los utilizamos para agrupar una serie de caracteres con los que puede coincidir la búsqueda, el ejemplo más sencillo son las mayúsculas y las minúsculas [Rr]oberto. Para que coincida con palabras, debemos añadir el meta-carácter de alternancia “|” entre ellas es decir [perro|casa|coche].
  • 6. RegEx. Modificadores del patrón III  Anchor ^ $ El símbolo ^ obliga a GA a empezar la búsqueda por el término que le definamos es decir ^Developer todo lo que encuentre deberá empezar por esa palabra. Si el símbolo ^ se encuentra dentro de corchetes [] como por ejemplo [^0-9] significa NO, en este caso no nos mostrará ningún número. El símbolo $ se utiliza para indicar como termina una línea es decir Developer$ lo que encuentre tendrá como final la palabra indicada. Ejemplo: /^hola/ -->Un texto empieza por hola o simplemente contiene hola. /adiós$/ -->Un texto termina con la palabra adiós /^contraseña$/ --> Un texto empieza y termina por la palabra contraseña
  • 7. RegEx. Modificadores del patrón II  Repetición ?+*{} Estos símbolos (interrogación, más, asterisco, llaves) nos permiten definir cuantas veces se va a repetir o va a aparecer el símbolo anterior.  El “+” indica uno o más para el carácter anterior. Con el ejemplo anterior sería 123* = 123 o 1233 o 12333 o 12333…. Etc. Pero nunca 12 como en el anterior.  El asterisco “*” es una mezcla de los dos anteriores, es decir cero, uno o más. Por ejemplo: 123* nos mostraría 12 o 123 o 1233 o 12333…. Etc.  Las llaves “{}” se utilizan para repetir un número exacto de veces. Un ejemplo sería [0-9]{5} Esto significa, en el rango 0-9 nos coja los grupos de 5 dígitos 23451 o 12345 o 98760 por ejemplo.  Agrupar () | Los paréntesis nos permiten agrupar caracteres. La barra vertical es lo mismo que decir “o” en una lista: Queremos que GA nos encuentre casa|coche|perro es decir casa o coche o perro.
  • 8. RegExp. Escapes de carácter  La barra diagonal inversa () en una expresión regular indica una de las siguientes situaciones:  El carácter que va detrás es especial. Unicodes u00E0 (á), delimitadores b (espacios en blanco), caracteres t (tabulación)  Caracteres literales Expresión regular: { ... } = Resultado: {…}  Algunos caracteres especiales serían: • Espaci os en blanco tabul ación retorno de carro Tab vertica l avance de página nueva línea Escape Octal Hexad ecimal Ctrl+c UTF-16 * ? a b t r v f n e nnn x nn c X u nn nn * x2A u0007 u0008 u000 9 u000D u000B u000C u000A u001B 040 2 cC
  • 9. RegExp. Escapes de Carácter II  Agrupación de caracteres [primerCarácter-últimoCarácter] Ejemplo: [a-z]  Grupo de caracteres negativos [^] Ejemplo: [^(1|2|3|4|5|6|7)] Que no sea 1,2,3,4,5,6 o 7  El patrón se inicia con ^ y se termina con $ Ejemplo: ^hola (la palabra empieza con hola) ^hola$ (la palabra empieza y termina buscando sólo hola, si tiene algo más lo descarta)  Cualquier carácter .  Carácter de palabra w = [a-zA-Z_0-9]  Carácter que no se usa en las palabras W  Carácter de espacio en blanco s  Carácter que no sea espacio en blanco S  Carácter de dígito decimal d  Carácter que no sea dígito decimal D  Límite palabra o del texto definido por b Ejemplo: yb el texto finalizará con y
  • 10. RegExp. Cuantificadores  Con ellos se determinan la cantidad de veces que aparece un determinado patrón en la expresión regular.  * 0 o más coincidencias con el patrón  + 1 o más coincidencias  ? 1 o ninguna coincidencia  {n} una cantidad n de coincidencias  {min,} cantidad mínima de repeticiones  {min,max} una cantidad mínima de min hasta max coincidencias  (hola) paréntesis de captura, se usan para aplicarle algún modificador  (hola)1 = 123123 Se repite un bloque almacenado entre paréntesis  (hola)* = holaholaholahola Se repite hasta que identifique un espacio o un carácter que no coincida con el patrón  (hola)+ = hola hola hola Identifica todas las palabras que cumplan con ese patrón
  • 11. RegExp Usos.  Se usan para ahorrarse complicadas comprobaciones algorítmicas algunos usos serían:  DNI: (d){8}[TRWAGMYFPDXBNJZSQVHLCKEtrwagyfpdxbnjzsqvhlcke]  Email: (W|^)[w.+-]{0,25}@(yahoo|hotmail|gmail).com(W|$)  IP: 192.168.1.d{1,3}  Password: ^(?=.*d)(?=.*[!-u002bu003c-u0040])(?=.*[A-Z])(?=.*[a-z])S{8,16}$  Páginas web /^www.w+.w+$/gi  Matrículas ([A-Z]{1,2})(d{4})([A-Z]{0,2})  Número de teléfono móvil: [6-7](d){2}-?(d){2}-?(d){2}-?(d){2}  Introducir sólo números o letras ^[a-zA-Z]*$ (letras) ^d*$ (numeros)  Introducir números y letras w+
  • 12. RegEx. Prototype object  Representa el objeto prototype de la clase RegEx.  La cual posee diversos métodos asociados:  RegExp.prototype.exec() Ejecuta una búsqueda de una coincidencia en su parámetro de cadena  RegExp.prototype.test() Prueba una coincidencia en su parámetro de cadena.  RegExp.prototype[@@match]() Realiza la coincidencia con una cadena dada y devuelve el resultado del emparejamiento.  RegExp.prototype[@@replace]() Reemplaza las coincidencias en cadena dada con nueva subcadena.  RegExp.prototype[@@search]() Busca la coincidencia en una cadena dada y devuelve el índice del patrón encontrado en la cadena.  RegExp.prototype[@@split]() Divide cadena dada en una matriz separando la cadena en subcadena.  RegExp.prototype.toString() Devuelve una cadena que representa el objeto especificado. Anula el Object.prototype.toString()método.
  • 13. RegEx. Funciones asociadas. replace() match()  'abc'.replace(/a/, 'A');  /a/[Symbol.replace]('abc', 'A');  var re = /-/g;  var str = '2016-01-01';  var newstr = re[Symbol.replace](str, '.');  console.log(newstr); // 2016.01.01 'abc'.match(/a/); /a/[Symbol.match]('abc'); var re = /[0-9]+/g; var str = '2016-01-02'; var result = re[Symbol.match](str); console.log(result); // ["2016", "01", "02"]
  • 14. RegEx. Search() toString()  'abc'.search(/a/);  /a/[Symbol.search]('abc');  var re = /-/g;  var str = '2016-01-02';  var result = re[Symbol.search](str);  console.log(result); // 4 var patt = new RegExp("Hello World", "g"); var res = patt.toString(); Resultado: /Hello World/g
  • 15. RegEx. Exec()  var myRe = /ab*/g;  var str = 'abbcdefabh';  var myArray;  while ((myArray = myRe.exec(str)) !== null) {  var msg = 'Found ' + myArray[0] + '. ';  msg += 'Next match starts at ' + myRe.lastIndex;  console.log(msg);  }  Resultado:  Found abb. Next match starts at 3  Found ab. Next match starts at 9  Se usa cuando el patrón se repite varias veces, éste se almacena en un array que se va recorriendo y cada vez que encuentra una se muestra.
  • 16. RegEx. Split() test()  'a-b-c'.split(/-/);  /-/[Symbol.split]('a-b-c');  var re = /-/g;  var str = '2016-01-02';  var result = re[Symbol.split](str);  console.log(result); // ["2016", "01", "02"]  Se usa para trocear una cadena y generar así un array.  var regexObj = /ab*/g;  var cadena = 'abbcdefabh';  regexObj.test(cadena);  //true si contiene el patrón  //false si no lo contiene
  • 17. Fuentes y recursos  http://www.robertoballester.com/pequeno-manual-sobre-expresiones-regulares-regex/  https://eloquentjavascript.net/09_regexp.html  https://www.w3schools.com/jsref/jsref_obj_regexp.asp  https://support.google.com/a/answer/1371417?hl=es  https://es.wikibooks.org/wiki/Algoritmia/Algoritmo_para_obtener_la_letra_del_NIF  https://msdn.microsoft.com/es-es/library/4edbef7e(v=vs.110).aspx  https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/RegExp/te st  https://stackoverflow.com/questions/13210194/javascript-regex-equivalent-of-a-za-z-using-pl  http://www.asciitable.com/  https://regexr.com/
  • 18. ¿Dudas?  Resumen:  Expresion regular = patrón + modificadores + cuantificadores  Hay 3 formas de usar expresiones regulares:  /hola/.test('hola');  var patron = /hola/;  var regExp = new RegExp(/hola/);  Modificadores del patrón:  El punto “.”  La barra invertida o diagonal invertida “”  Corchetes []  Repetición ?+*{}  Agrupar () |  Anchor ^ $  Prototype es un objeto de la clase RegEx  Métodos asociados al objeto prototype son:  exec(), test(), match(), replace(), search(), split(), toString().
  • 19. Vías de contacto:  ISABEL MARÍA GÓMEZ PALOMEQUE HTTPS://GITHUB.COM/ISALLUNIA HTTP://TUTORIALESDESARROLLOWEB.16MB.COM/ HTTPS://WWW.YOUTUBE.COM/CHANNEL/UC2XBHHST5EJOYYUJVMOOBDA  JORGE GRANADOS JURADO  @JORGEGJ961  JORGE.YORKA@GMAIL.COM
  • 20. Fin de la Presentación