Php 科哈纳3.2路线不匹配

Php 科哈纳3.2路线不匹配,php,regex,kohana,Php,Regex,Kohana,这是产生问题的途径: Route::set('api', 'api(/<action>(/<currency_data>(/<currency_value>)))', array( 'currency_data' => '(\d\-\d)|(\w\-\w)', 'currency_value' => '\d+(\.\d{1,2})?' )) ->defaults(array(

这是产生问题的途径:

Route::set('api', 'api(/<action>(/<currency_data>(/<currency_value>)))',
    array(
        'currency_data' => '(\d\-\d)|(\w\-\w)',
        'currency_value' => '\d+(\.\d{1,2})?'
    ))
    ->defaults(array(
        'controller' => 'api',
        'action'     => 'get',
    ));

这两种情况都涵盖了,但最终都不起作用,为什么? 默认路由在引导的末尾(我知道有人会建议)


tnx只与一个字符匹配。因此,123-321与\d-\d不匹配,abc cba与\w-\w不匹配


如果这不是问题,那么请提供更多信息说明它如何“不起作用”。什么有效?你得到了什么结果,等等。

我是个白痴,如果你们中有人想解决我的问题


我对第二个正则表达式进行了评论,并指出了它不起作用的明显原因…tnx everyone

tnx dude它现在通过了第一个正则表达式(我添加了{1,4}在\d和\w之后,它像一个符咒一样工作,但是…是的,有一个但是:
我不能对最后一个参数使用浮点数…它不能通过,但整数可以正常工作?显然我错过了一些东西
/api/currency/123-321/123.00
/api/currency/abc-cba/123