您好,我需要从结尾(从右到左)匹配一个字符串。例如,从字符串 hello999hello888hello 777 last 我需要在最后一组和. 之间获取777。从下面的代码中可以正常工作。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 匹配多个字符串。例如
$string = 'hello999hello888hello0string#@$@#anysymbols%@iwantlast
hello999hello888hello02ndstring%@iwantlast';
preg_match_all('/.*hello(.*?)last$/', $string, $match);
print_r($match);
必须返回0string#@$@#anysymbols%@iwant
和02ndstring%@iwant