有一個號碼的category property codes(參見部分「Unicode字符屬性」),可被用於Perl-compatible Regular Expression (PCRE)如何使用類別屬性代碼從RegEx模式中排除字符?
我所定義的正則表達式模式(named subpattern),即應與字母(\p{L}
),數字(\p{N}
) ,空格分隔符(\p{Zs}
),也是標點符號(\p{P}
)。
(?<sport>[\p{L}\p{N}\p{Zs}\p{P}]*)
由於我使用URL進行路由,因此應該排除斜線。我怎樣才能做到這一點?
編輯:
有關上下文Addtitional信息:用於Zend框架2模塊中的路由定義的圖案。
/Catalog/config/module.config.php
<?php
return array(
...
'router' => array(
'routes' => array(
...
'sport' => array(
'type' => 'MyNamespace\Mvc\Router\Http\UnicodeRegex',
'options' => array(
'regex' => '/catalog/(?<city>[\p{L}\p{Zs}]*)/(?<sport>[\p{L}\p{N}\p{Zs}\p{P}]*)',
'defaults' => array(
'controller' => 'Catalog\Controller\Catalog',
'action' => 'list-courses',
),
'spec' => '/catalog/%city%/%sport%',
),
'may_terminate' => true,
'child_routes' => array(
'courses' => array(
'type' => 'segment',
'options' => array(
'route' => '[/page/:page]',
'defaults' => array(
'controller' => 'Catalog\Controller\Catalog',
'action' => 'list-courses',
),
),
'may_terminate' => true,
),
)
),
),
),
...
);
您能否添加一些您想要應用正則表達式的字符串示例以及您想要的結果? – Alexey 2013-04-26 15:15:36
當然:「合氣道」,「有氧運動,有氧運動」。 URI _can_在體育標題(例如'Aikido/page/2'或'Aerobic,Sportaerobic/page/2')之後繼續,因此RegEx解析器應該通過斜線停止。 – automatix 2013-04-26 15:23:30