Ben bu zaten sorulmuş ve cevap olmuştur eminim, ama ben dürüst yeraldığını için arama ve Regex Tutorial okuduktan sonra benim cevap bulamadı. Ne yapmak arıyorum başka bir dize olarak aynı karakterleri ve uzunluğa sahip bir dize maç olduğunu. Örneğin, bir dize "abcde" "edcba" maç olacak ama "abcdf" veya "aabbc" veya "abc" maç olmaz.
Burada bu karakter sınıfını kullanan ile geldim yakın ile benim test kodu, ama ne ben çözemiyorum regex temelde bir kez maçın başında başlayan sınıfında her karakter yineleme aracılığıyla almak için nasıl dize:
$string = 'abcde';
$array = array('edcba','eeeee','fghij','fedcba','qqq','cbaed','cba');
foreach ($array as $match)
{
if (preg_match("/[$string]/i",$match))
echo "TRUE -> $match";
else
echo "FALSE -> $match";
}
Hangi sonuç verir:
TRUE -> edcba
TRUE -> eeeee
FALSE -> fghij
TRUE -> fedcba
FALSE -> qqq
TRUE -> cbaed
TRUE -> cba
Ben gerçekten ne istiyorum olduğunda:
TRUE -> edcba
FALSE -> eeeee
FALSE -> fghij
FALSE -> fedcba
FALSE -> qqq
TRUE -> cbaed
FALSE -> cba