こんにちは、文字列を末尾 (右から左) から一致させる必要がありhello
ますlast
。
$game = "hello999hello888hello777last";
preg_match('/hello(\d+)last$/', $game, $match);
print_r($match);
しかし、777 の代わりに、数字とアルファベットの記号が混在しています。たとえば、文字列から取得する必要があるとします。hello999hello888hello0string#@$@#anysymbols%@iwantlast
0string#@$@#anysymbols%@iwant
$game = "hello999hello888hello0string#@$@#anysymbols%@iwantlast";
preg_match('/hello(.*?)last$/', $game, $match);
print_r($match);
上記のコードが返されるのはなぜですか999hello888hello0string#@$@#%#$%#$%#$%@iwant
。右から左に読み取る正しい手順は何ですか。
注:preg_match_all aswel.forを使用して複数の文字列を一致させたい
$string = 'hello999hello888hello0string#@$@#anysymbols%@iwantlast
hello999hello888hello02ndstring%@iwantlast';
preg_match_all('/.*hello(.*?)last$/', $string, $match);
print_r($match);
返さなければならないもの0string#@$@#anysymbols%@iwant
と02ndstring%@iwant