正则表达式以查找最后的项目名称

时间:2012-07-17 01:30:21

标签: php regex

所以我有一个字符串如下

Continent | Country | Region | State | Area | Town

有时字符串是

Continent | Country | Region | State | Area

获取最后一个条目(即城镇或区域)的正则表达式是什么?

干杯

4 个答案:

答案 0 :(得分:4)

不需要正则表达式!

$str = 'Continent|Country|Region|State|Area';

$exp = explode('|', $str);

echo end($exp);

答案 1 :(得分:2)

以防万一有人想要正则表达式(也删除前面的空格):

$string = 'Continent | Country | Region | State | Area | Town';

preg_match('/[^|\s]+$/', $string, $last);
echo $last;

答案 2 :(得分:1)

当你可以使用PHP string functions实现相同的时候,我不会使用正则表达式:

$segments = explode(' | ', 'Continent | Country | Region | State | Area | Town');
echo end($segments);

答案 3 :(得分:1)

这是另一种解决方案。

$str = 'Continent|Country|Region|State|Area';
$last = substr(strrchr($str,'|'),1);

请注意,这仅适用于有多个项目或strrchr将返回false的情况。