用破折号匹配正则表达式

时间:2014-08-28 14:11:39

标签: php regex

我在下面有这个正则表达式,它适用于看起来像这样的字符串

hello/hi

但如果有像hello/hi-there

这样的短划线( - )则会失败
if (preg_match('%^(\w+)(/(\w+))?$%', $pathInfo, $matches))
{
   echo 'works';
}

另外,我希望它匹配

  1. 你好OR
  2. 你好/喜欢那里
  3. 你好/ HI-有/微笑
  4. 任何想法如何解决这个问题?感谢

1 个答案:

答案 0 :(得分:3)

您可以在正则表达式中包含-和空格:

'%^([\w -]+)(/([\w -]+))?$%'