2012-10-04 52 views
-1

我有一个字符串,我从数据库的类别表中取消。事情是,字符串格式如下:忽略某些字符的正则表达式帮助

Parent Category/Sub category/Category 
Parent Category/Category 

我只是想得到的是“类别”的名称。

有没有人知道我可以如何使用正则表达式忽略到最后一个“/”的字符,所以我只能得到“类别”的名称?

*编辑:我使用的方式。什么是最好的PHP正则表达式函数使用?

感谢您的回复!

+1

您是否使用任何特定语言? – npinti

+0

我对这个特定的方法使用PHP – kevin

+0

psst:'basename($ category);'这也被问了一百次左右,这就是为什么我不回答它。你也许想看看http://www.php.net/manual/en/function.strrchr.php – hakre

回答

1

像这样的正则表达式将捕捉一切从最后/到年底,/后忽略空格:

更新:我有此PHP的解决方案。我不是一个PHP的专家,但我认为这将工作:

if (preg_match('/\/\s*([^\/]+)$/',$string, $matches)) 
    { 
     echo $matches[1]; 
    } 
+0

请注意,这个正则表达式需要有多个级别(字符串中至少有一个'/')。如果您的数据可能只有一个类别,请从模式的开头删除'\ /'。 – dan1111

0

你可以这样做:

/([^\/]*)$/ 

这就需要正则表达式来仅在字符串的结尾匹配(因为$代表字符串的结尾)。而在此之前的东西只是一个字符串,不是/,尽可能长。

您可能需要修整结果,因为它将包含/之后的空格。