Я уверен, что об этом уже спрашивали и отвечали, но я, честно говоря, не смог найти свой ответ после долгого поиска и чтения Regex Tutorial .То, что я хочу сделать, это сопоставить строку, которая имеет те же символы и длину, что и другая строка.Например, строка "abcde" будет соответствовать "edcba" , но не будет соответствовать "abcdf" или "aabbc" или "abc" .
Вот мой тестовый код с самым близким, который я придумал, который использует класс символов, но что я не могу понять, так это как получить регулярное выражение в основномитерируйте каждый символ в классе, начиная с начала строки соответствия:
$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";
}
, что дает результат:
TRUE -> edcba
TRUE -> eeeee
FALSE -> fghij
TRUE -> fedcba
FALSE -> qqq
TRUE -> cbaed
TRUE -> cba
Когда то, что я действительно хочу:
TRUE -> edcba
FALSE -> eeeee
FALSE -> fghij
FALSE -> fedcba
FALSE -> qqq
TRUE -> cbaed
FALSE -> cba