正则表达式抓住字符串直到连字符

时间:2011-05-03 00:08:30

标签: regex .htaccess mod-rewrite

我认为我遇到了一个问题,因为我在这个表达式中使用了两个关键的正则表达式值。

RewriteRule ^([^-]*)-([^-]*)-((foot|basket)(ball))-schedule$ /schedule.php?sport=$3&school=$1&year=$2&schedule=true [NC,L]

当有人打字时我会被抓住

  

domain.com/michigan-1999-football-schedule

。它目前无法通过此htaccess行识别此字符串,并且我99%与正则表达式部分有关。我认为这是因为线的[^ - ]部分。我希望这能抓住数据直到连字符,但我认为这是一个问题,因为它们都是正则表达式中的关键字符。

2 个答案:

答案 0 :(得分:1)

这对我来说很有用。你有其他规则吗?

确保您拥有以下内容:

RewriteEngine on
RewriteBase / 

答案 1 :(得分:0)

我建议你使用+代替*,在某些字段为空的情况下:

RewriteRule ^([^-]+)-([^-]+)-((foot|basket)(ball))-schedule$ /schedule.php?sport=$3&school=$1&year=$2&schedule=true [NC,L]