これはすでに質問されて回答されていると確信していますが、かなり検索して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