PHP Regex匹配Slash和Subtract

时间:2016-08-10 17:41:07

标签: php regex

您好我需要一个正则表达式来从

获取字符串“trkfixo”
SIP/trkfixo-000072b6

我试图使用explode,但我更喜欢正则表达式解决方案。

$ex = explode("/",$sip);
$ex2 = explode("-",$ex[1]);
echo $ex2[0];

2 个答案:

答案 0 :(得分:3)

您可以使用'~/([^-]+)~'

$re = '~/([^-]+)~'; 
$str = "SIP/trkfixo-000072b6"; 
preg_match($re, $str, $match);
echo $match[1]; // => trkfixo

请参阅regex demoPHP demo

模式详情

  • / - 匹配/
  • ([^-]+) - 第1组捕获除+以外的1个或多个(-)符号(由于[^-]否定字符类< / em>匹配此类中所有符号和范围以外的任何符号。)

答案 1 :(得分:1)

$match = preg_match('/\/[a-zA-Z]-/', "SIP/trkfixo-000072b6");