Bir dize tüm karakterleri içermelidir Regex maç

0 Cevap php

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  

0 Cevap