data.txt:
Mama Bear 702
Steve Blenheim 100
Betty Boop 200
Igor Chevsky 313
Norma Cord 400
Jon DeLoach 500
Karen Evich 600
BB Kingson 803
ej1:
Código PHP:
<pre>
<?php
$fh=fopen("data.txt", "r");
while( ! feof($fh)){
$text = fgets($fh);
if(preg_match("/B[a-z]*/",$text)){
echo "$text";
}
}
?>
Mama Bear 702
Steve Blenheim 100
Betty Boop 200
BB Kingson 803
ej2:
Código PHP:
<pre>
<?php
$fh=fopen("data.txt", "r");
while( ! feof($fh)){
$text = fgets($fh);
if(preg_match("/^[A-Z][a-z]*\s[A-Z][a-z]*\s/",$text)){
echo "$text";
}
}
?>
Mama Bear 702
Steve Blenheim 100
Betty Boop 200
Igor Chevsky 313
Norma Cord 400
Karen Evich 600
*No entiendo como el ej1 imprime el BB Kingson 803 cuando BB esta seguido por una B mayúscula y el ej2 no imprime el Jon DeLoach 500 y BB Kingson 803. El libro dice que el metacaracter "*" hace que se repitan 0 a más elementos del digito anterior.
Entonces si "/B[a-z]*/" imprime BB Kingson 803 porque "/^[A-Z][a-z]*\s[A-Z][a-z]*\s/" no imprime Jon DeLoach 500 y BB Kingson 803?
Ojala puedan responder.
Un saludo gente.