【发布时间】:2011-10-21 17:35:59
【问题描述】:
尝试像这样匹配字符串:
/2011/10/Lorem-ipsum-dolor-it-amet-consectetur-adipisicing
/2011/10/Lorem-ipsum-dolor-it-amet-consectetur-adipisicing/
和
/2011/10/4545
/2011/10/4545/
然后取回年、月和第三段。这是我得到的正则表达式:
%/(?P<year>\d{4})/(?P<month>\d{2})/((?P<id>\d{1,})|(?P<permalink>.{1,}))[/]{0,1}$%
虽然结果匹配数组将始终包含 3 个变量:年、月和 id 或永久链接。但是会发生什么 - 如果永久链接匹配 - 我仍然在结果数组中得到空的 id 变量。有没有办法重写正则表达式,所以结果数组将只包含年、月和 id 或永久链接?
【问题讨论】:
-
...因为 id 段是空的?
-
我以为我用 |获取 id 或永久链接。如果永久链接匹配 - 根本不应该存在任何 id。或者这不是垂直条的工作原理?