PHP de Regular Expression kullanarak karakterler arasındaki ifadeleri parse etmek

PHP de Regular Expression kullanarak karakterler arasındaki ifadeleri parse etmek

<?php
// ‘<‘ ve ‘>’ karakterterleri arasında kalan karakterleri yakalayacak ifade
$regular_expression_1 =”\<(.*?)\>”;
// ‘[‘ ve ‘]’ karakterterleri arasında kalan karakterleri yakalayacak ifade
$regular_expression_2 =”\[(.*?)\]”;
// ‘+’ ve ‘+’ karakterterleri arasında kalan karakterleri yakalayacak ifade
$regular_expression_3 =”\+(.*?)\+”;
// ‘*’ ve ‘&’ karakterterleri arasında kalan karakterleri yakalayacak ifade
$regular_expression_4 =”\*(.*?)\&”;
// email adreslerini yakalayacak ifade
$regular_expression_5 =”([a-zA-Z0-9_][email protected][a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+)”;

// Not : RegEx için anlam ifade eden özel karakterlerin ( *, [, + v.b. ) önüne ‘\’ koyulur.

// arama yapacağımız String
$text = “<ifade 1><ifade 2>ifade 3 ifade 4 [ifade 5] [ifade 6] +ifade 7+ + ifade 8+ *ifade 9& [email protected] [email protected] [email protected] * ifade 10& [email protected] “;

echo “Arama yapacağımız karakter katarı : <br/> “.$text.”<br/><br/>”;

echo “<hr/>”;
echo “‘<‘ ve ‘>’ arasında olanlar : <br/>”;
preg_match_all(‘#’.$regular_expression_1.’#’ ,$text , $matches);
for ($i=0; $i< sizeof($matches[1]);$i++)
echo $matches[1][$i].”<br/>”;
echo “<hr/>”;

echo “‘[‘ ve ‘]’ arasında olanlar : <br/>”;
preg_match_all(‘#’.$regular_expression_2.’#’ ,$text , $matches);
for ($i=0; $i< sizeof($matches[1]);$i++)
echo $matches[1][$i].”<br/>”;
echo “<hr/>”;

echo “‘+’ ve ‘+’ arasında olanlar : <br/>”;
preg_match_all(‘#’.$regular_expression_3.’#’ ,$text , $matches);
for ($i=0; $i< sizeof($matches[1]);$i++)
echo $matches[1][$i].”<br/>”;
echo “<hr/>”;

echo “‘*’ ve ‘&’ arasında olanlar : <br/>”;
preg_match_all(‘#’.$regular_expression_4.’#’ ,$text , $matches);
for ($i=0; $i< sizeof($matches[1]);$i++)
echo $matches[1][$i].”<br/>”;
echo “<hr/>”;

echo “bulunan email adresleri : <br/><br/>”;
preg_match_all(‘#’.$regular_expression_5.’#’ ,$text , $matches);
for ($i=0; $i< sizeof($matches[1]);$i++)
echo $matches[1][$i].”<br/>”;
?>

Bana Ders Anlat © 2008-2022