Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: bermartinv en 17 de Febrero 2016, 15:35
-
Mi código para el ejercicio CU01154E del tutorial javascript desde cero:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function comprobar(){
var expresionRegular = /^[A-C]\w+\ses\s\w+/;
var vector = ['Juan es guapo','Adriano no es feo','Adriano deja de ser guapo','Adriano ya es guapo','No es ahora','Ahora es no','Adriano es guapo']
for (var i=0;i<vector.length;i++){
var sino = expresionRegular.test(vector[i])? 'si ':' no ';
msg = "El texto \'"+vector[i]+"\' "+sino+ ' cumple la expresion regular';
alert (msg);
}
}
</script>
</head>
<body>
<p>La expresion regular es /^[A-C]\w+\ses\s\w+/</p>
<button onclick="comprobar()">Expresion Regular</button>
</body>
</html>
-
Buenas bermartinv.
El código está bien. Pero creo que lo mas interesante del ejercicio es saber en que partes de esas cadenas hace match la expresión regular y es lo que te faltó por contestar. ;)
Saludos.
-
Gracias Pedro, por contestar no había usado la sentencia match porque es este tema no se explica su funcionamiento y por no liar más el ejercicio. De todas manera rectifico el código e incluyo match:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function comprobar(){
var resultado = '';
var expresionRegular = /^[A-C]\w+\ses\s\w+/;
var vector = ['Juan es guapo','Adriano no es feo','Adriano deja de ser guapo','Adriano ya es guapo','No es ahora','Ahora es no','Adriano es guapo']
for (var i=0;i<vector.length;i++){
var coincidencias =vector[i].match(expresionRegular);
coincidencias === null ?resultado = 'No tiene':resultado = coincidencias.valueOf();
var sino = expresionRegular.test(vector[i])? 'si ':' no ';
msg = "El texto \'"+vector[i]+"\' "+sino+ ' cumple la expresion regular\n y la coincidencia a la expresion regular es :'+resultado;
alert (msg);
}
}
</script>
</head>
<body>
<p>La expresion regular es /^[A-C]\w+\ses\s\w+/</p>
<button onclick="comprobar()">Expresion Regular</button>
</body>
</html>
-
Me refería a que tú explicases la expresión regular /^[A-C]\w+\ses\s\w+/.
Y por qué hace o no hace match en las cadenas presentadas en el ejercicio.
Saludos.
-
Ah, Pedro, no te había entendido.
/^[A-C]\w+\ses\s\w*/
[A-C] --> palabra que empieza por A,B,C
\w--> le sigue una cadena de caracteres (word)
+\s -->espacio
es --> despues del espacio le sigue la cadena de caracteres 'es'
\s -->un nuevo espacio
\w --> una cadena de caracteres(word)
A******* es ********
-
Ok, ahora perfecto.
Solo te lo decía para asegurar que te quedaba claro. ;D
Saludos.