URL中的正则表达式

Tim*_*tjc 0 php regex codeigniter url-routing

我试过寻找答案,但首先要问的是一个棘手的问题.

请考虑以下URL:

  • 酒店 - 伦敦肯辛顿 - 5星级
  • 酒店 - 伦敦肯辛顿 - 梅费尔 - 5星级
  • 酒店 - 伦敦 - 五星

使用正确的正则表达式返回以下内容:

  • 位于伦敦的肯辛顿
  • 位于伦敦的肯辛顿 - 梅费尔
  • 伦敦

我正在尝试使用正则表达式来获取中心值.在所有情况下我都知道字符串的第一个和最后一个字,即'hotels'(第一个)和'5star'(last).

更新:我需要使用正则表达式,因为URL是通过Codeigniters URI路由器路由的.URI的中心部分是为搜索结果动态构建的.

Nie*_*sol 5

既然你知道了第一个和最后一个词,你也知道它们的长度.

$out = substr($in,7,-6);
Run Code Online (Sandbox Code Playgroud)

或者更一般地说:

$out = substr($in,strlen($begin),-strlen($end));
Run Code Online (Sandbox Code Playgroud)

编辑:如果需要正则表达式,只需使用/(?<=hotels-).*(?=-5star)/