我有这个字符串
"Kuala Lumpur <br/>
53000 Setapak"
我想得到最后一个子字符串"setapak",但有时这个字符串看起来也像
pantai jerjak <br/>
Gelugor
如何使用regex获取最后一个子字符串?我试过用''d+去掉数字,但没有用,因为字符串总是不同的(没有数字)。
有没有一种方法可以用regex从末尾获取字符串,比如substr中的负数?
这将满足您的需要:
'w+$
'w
是"单词字符"的元字符,包括字母、数字和下划线。+
表示"一个或多个",$
表示"行尾",所以你可以用英语将其解释为:"匹配一个由字母、数字和行尾下划线组成的单词。"
如果你只想要字母,你可以这样做:
[a-zA-Z]+$
$str = "Kuala Lumpur <br/> 53000 Setapak";
$str = preg_replace("/'s'w*$/", " setapak", $str);
echo $str;
输出:
Kuala Lumpur <br/> 53000 setapak
(将大写"s"换成小写)。