PDF de programación - Paréntesis expresiones regulares javascript flags exec match search

Imágen de pdf Paréntesis expresiones regulares javascript flags exec match search

Paréntesis expresiones regulares javascript flags exec match searchgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 20 de Enero del 2018)
271 visualizaciones desde el 20 de Enero del 2018
59,3 KB
6 paginas
Creado hace 5a (29/06/2014)
Paréntesis en expresiones regulares JavaScript. Flags. Métodos.










PARÉNTESIS EN
EXPRESIONES REGULARES
JAVASCRIPT. FLAGS.
MÉTODOS EXEC, TEST,
MATCH, SEARCH,
REPLACE, SPLIT.
EJEMPLOS (CU01155E)

APRENDERAPROGRAMAR.COM



Sección: Cursos
Categoría: Tutorial básico del programador web: JavaScript desde cero

Fecha revisión: 2029

Resumen: Entrega nº55 del Tutorial básico “JavaScript desde cero”.








© aprenderaprogramar.com, 2006-2029

Autor: César Krall

Paréntesis e

PARÉNTE

en expresiones

s regulares Java

aScript. Flags. M

Métodos.

SIS Y FLAGS

EN EXPRESIO

ONES REGUL

LARES

esiones reg
as diversos.
s especiales

ulares JavaS
Ya conocem
disponibles.

Script son
mos aspectos
Vamos a am

una potent
s básicos co
mpliar conoc

te herramie
omo la insta
imientos sob

nta que no
nciación de
bre expresion

á resolver
os permitirá
objetos Reg
gExp y los
es.
nes regulare

Las expre
problema
caractere






EXPRESIO

ONES REGULA

ARES CON FL

LAGS

JavaScript
denomina

t permite e
a flags (band

especificar m
eras o indica

modos de b
adores).

búsqueda de

e expresione

es regulares

s a través d

de lo que

Los flags s

se indican en

n el moment

o de definir

la expresión

regular:

a) Si se de

efine en form

ma de literal:

var miExpre

esionRegular

r = /as?.a/fla

gsAIncluir

b) Instanc

ciando el obj



eto RegExp:

var miExpre

esionRegular

= new RegE

xp("as?.a", "

" flagsAInclu

ir")

En la sigu

iente tabla s

e indican los

s principales

flags, cómo

usarlos y eje

emplos.

Flag
g

Significado

Ejempl

lo sintaxis

/as?.a/g
g
egExp("as?.a",
new Re

"g")

i
/as?.a/i
new Re
egExp("as?.a",

"i")

/as?.a/m
m
new Re
egExp("as?.a",

"m")

var miE
Indica
comien
mayúsc
diferen

que hará

mi
ExpReg = /^i/m
match con
por una i min
eda multilíne
las y minúscu

nzo de línea p
cula
(búsque
ciar mayúscu

cualquier
núscula ó I
ea y sin
las).

g

i

m

Bús
(no
coin

squeda globa
o se detiene
ncidencia)

al de todas l
e al encont

as coincidenc
la prim
trar

cias
era

No

diferenciar en

ntre mayúscu

las y minúscu

ulas

Bús
com
apl
ma
líne

squeda multil
mienzo de cad
ica esta ban
tches en tod
ea, no sólo al p

ínea. Para los
dena ^ y fin d
ndera, se tie
os los princip
principio y fin

s indicadores
e cadena $, s
enen en cue
pios y finales

al de cadena.

de
i se
nta
de

pueden espec

cificar varios f

flags

Combinac

ciones

Se







© aprender

raprogramar.co

om, 2006-2029

Paréntesis en expresiones regulares JavaScript. Flags. Métodos.

MÉTODOS DE LOS OBJETOS TIPO EXPRESIÓN REGULAR

Los objetos de tipo expresión regular proveen de una serie de métodos útiles. En la siguiente tabla
vemos cuáles son, su significado y un ejemplo de uso.





Método

Significado

Ejemplo de uso

exec

Ejecuta una búsqueda del patrón y
devuelve un array cuyo
índice 0
contiene el valor encontrado. Si está
activado el flag g, la repetición de la
búsqueda devuelve
siguiente
coincidencia.

la

test

Comprueba si se verifica el patrón y
devuelve true o false

var miExpReg = /p.sto/g
var txt = 'el pasto es pisto pero no pesto';
msg = '';
while ((matches = miExpReg.exec(txt)) !== null ) {
msg = msg + 'Encontrado: '+matches[0]+'\n'; }

alert(msg);

var miExpReg = /p.sto/g
var txt = 'el pasto es pisto pero no pesto';
msg = '';

alert('Hay match: '+ miExpReg.test(txt));

MÉTODOS DE LOS OBJETOS STRING RELACIONADOS CON EXPRESIONES REGULARES

Los objetos de tipo String proveen de una serie de métodos útiles. En la siguiente tabla vemos cuáles
son, su significado y un ejemplo de uso.

Método

Signficado

Ejemplo de uso

match

Devuelve un array con las

coincidencias encontradas, o null si

no hay coincidencias.

search

Devuelve la posición de comienzo de
la primera coincidencia dentro del
string, o -1 si no hay coincidencia.
Recordar que la primera posición

posible es cero.

replace

Devuelve un nuevo String (sin
modificar el original) donde se

reemplaza una o varias coincidencias

por lo especificado (una cadena o

una función que devuelve la cadena).

© aprenderaprogramar.com, 2006-2029

var miExpReg = /p.sto/g
var txt = 'el pasto es pisto pero no pesto';
msg = ''; var matches = txt.match(miExpReg);
if (matches != null) {
for (var i=0; i<matches.length; i++){
msg = msg + 'Encontrado: '+matches[i]+'\n'; }
} else {msg = 'No se encontraron coincidencias';}

alert(msg);

var miExpReg = /p.sto/g
var txt = 'el pasto es pisto pero no pesto';
msg = ''; var posicion = txt.search(miExpReg);
if (posicion != -1) {
msg = msg +

'Encontrado patrón en posición:

'+posicion+'\n';

} else {msg = 'No se encontraron coincidencias';}
alert(msg);
var miExpReg = /p.sto/g
var txt = 'el pasto es pisto pero no pesto';
msg = ''; var nuevoTxt = txt.replace(miExpReg, 'coco');
msg = 'txt vale ' + txt + ' y nuevoTxt vale ' +nuevoTxt;
alert(msg);

Paréntesis en expresiones regulares JavaScript. Flags. Métodos.


Método

Signficado

Ejemplo de uso

Devuelve un array con las

subcadenas resultantes de dividir la

cadena original en subcadenas

delimitadas por el carácter separador
especificado (que queda excluido). Si

se indican unas comillas vacías se
extraen todos los caracteres a un

array.

var miExpReg = /\d/g
var txt = 'un 3 de bastos gana a un 5 de copas pero no

a un 7 de oros';

msg = ''; var splits = txt.split(miExpReg);
msg = 'splits contiene ' + splits;
alert(msg);

split





USAR PARÉNTESIS PARA AGRUPAR FRAGMENTOS

Los paréntesis sirven para agrupar varios caracteres y afectarlos por un carácter especial.

Por ejemplo var miExpReg = /(p.s)?to/g

var txt = 'el pasto es pisto y eso es todo';

var resultado = txt.match(miExpReg);

Hace que resultado contenga ['pasto ', 'pisto ', 'to '] ya que hay un fragmento de la expresión que se ha
agrupado e indicado que es opcional.

Los paréntesis nos permiten no tener que repetir. Por ejemplo en vez de /estereotipo|estereoforma/
podemos escribir /estereo(tipo|forma).





USAR PARÉNTESIS PARA IDENTIFICAR SUBEXPRESIONES CON MATCH

Los paréntesis generan otro efecto. Cuando se invoca la función match buscando la primera
coincidencia (es decir, búsqueda no generalizada sin el flag g) y existen subexpresiones entre
paréntesis, el array generado guarda en su índice cero la primera coincidencia mientras que en los
sucesivos índices guarda las coincidencias de las subexpresiones.

Cuando se escribe una expresión regular, los elementos que se incluyen entre paréntesis pueden ser
recuperados por separado
luego como $1, $2, $3…. Estas variables persisten
normalmente hasta que se invoca una nueva expresión regular.

invocándolos

Veámoslo con un ejemplo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
function ejemplo() {
var expReg = /(\w+)\s(\w+)\s(\w+)/;

© aprenderaprogramar.com, 2006-2029

Paréntesis en expresiones regulares JavaScript. Flags. Métodos.


var txt = "Era una noche negra y sola";
var newTxt = txt.match(expReg);
console.log(newTxt); //Activar la consola para que se visualice
var cambiada = newTxt[0].replace(newTxt[3], 'madrugada');
console.log(cambiada); //Activar la consola para que se visualice
}
</script>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>
</body></html>



El resultado esperado es:

Array [ "Era una noche", "Era", "una", "noche" ]

"Era una madrugada"



Analicemos lo que hace el código: en el array newTxt queda almacenado en su posición cero la
coincidencia global con la expresión regular. En su índice uno, queda almacenado el match de la
primera subexpresión entre paréntesis, es decir, la primera palabra (sin tildes). En su índice dos, la
segunda palabra, y en su índice 3, la tercera palabra. A continuación creamos una cadena formada por
las tres palabras con la tercera de ellas reemplazada por ‘madrugada’.



USAR PARÉNTESIS PARA IDENTIFICAR SUBEXPRESIONES CON REPLACE

Dentro de una sentencia replace, los matches de subexpresiones entre paréntesis pueden ser invocadas
usando unas variables temporales especiales que se numeran como $1, $2, $3… etc. de acuerdo con la
cantidad de subexpresiones entre paréntesis que existan. Este ejemplo nos muestra cómo se pueden
usar:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
function ejemplo() {
var expReg = /(\w+)\s(\w+)\s(\w+)/;
var txt = "Alberto Flores Rubalcaba: tiene calificación de 10";
var cambiada = txt.replace(expReg, '$3 $2, $1');
console.log(cambiada); //Activar la consola para que se visualice
}
</script>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplos JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemplo()"> Probar </div>
</body></html>



© aprenderaprogramar.com, 2006-2029

Paréntesis en expresiones regulares JavaScript. Flags. Métodos.

En este ejemplo el match de la expresión regular es <<Alberto Flores Rubalcaba>>, y cada palabra es
una subexpresión por encontrarse entre paréntesis en la expresión regular. En el replace podemos
identificar cada subexpresión como $1 (primera subexpresión), $2 (segunda) y $3 (tercera).

En el replace indicamos que la coincidencia de la expresión
  • Links de descarga
http://lwp-l.com/pdf8382

Comentarios de: Paréntesis expresiones regulares javascript flags exec match search (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad