正则表达式从最后采取字符串

时间:2013-12-01 23:17:25

标签: php regex

我有这个字符串

"Kuala Lumpur   <br/>
    53000           Setapak"

我想获得最后一个子串“setapak”,但有时字符串也看起来像

pantai jerjak   <br/>
                Gelugor

如何使用正则表达式获取最后一个子字符串?我试图用\ d +去掉数字但是没有工作,因为字符串总是不同(没有数字)。

有没有办法从正则表达式获取字符串,就像在substr?

中的否定一样

2 个答案:

答案 0 :(得分:0)

这将满足您的需求:

\w+$

\w是“单词字符”的元字符,包括字母,数字和下划线。 +说“一个或多个”,$说“行尾”所以你可以用英语将其解释为:“匹配由字母,数字和下划线字符组成的单词结束了。“

如果你只想要字母,你可以这样做:

[a-zA-Z]+$

答案 1 :(得分:0)

$str = "Kuala Lumpur   <br/> 53000           Setapak";
$str = preg_replace("/\s\w*$/", " setapak", $str);
echo $str;

<强>输出:

Kuala Lumpur   <br/> 53000           setapak

(用小写改变首都“s”。