【发布时间】:2014-03-01 09:41:54
【问题描述】:
我有一个正则表达式:
/\/(register)(?:\/activate\/(.{16}))?(?:\/(student|teacher|org))?\/?$/
正确匹配字符串:
/register
/register/student
/register/activate/1234567890123456/
不匹配问题:
/register/register/register/register/student/
在 PHP 中使用 preg_match 时,上述内容仍然匹配。有其他选择吗?
我也尝试过将“注册”限制为 1:
\/((?:register){1})(?:\/activate\/(.{16}))?(?:\/(student|teacher|org))?\/?$
运气不好。
使用 Debuggex 不匹配,但使用 http://www.phpliveregex.com/ 匹配
【问题讨论】:
标签: php regex preg-match