我目前正在制作一堆使用类似网址结构的着陆页,但每个网址的字数各不相同。
所以它是这样的:
http://landingpage.xyz/page-number-five
http://landingpage.xyz/page-number-fifty-four
http://landingpage.xyz/page-for-a-different-topic
对于发送的页面,我只是像这样postfix -sent
。我没有将它添加为/sent
的原因是因为我使用的平台以这种方式处理URL。
http://landingpage.xyz/page-number-five-sent
http://landingpage.xyz/page-number-fifty-four-sent
http://landingpage.xyz/page-for-a-different-topic-sent
现在我发现很容易制作一个标识所有已发送页面的正则表达式,例如:
\/([a-z0-9\-]*)-sent
问题是我不确定如何识别未发送的那些。我尝试使用类似这样的正则表达式,但它没有按预期工作:
\/([a-z0-9\-]*)(?!-sent)
为此设计正则表达式的最佳方法是什么?或者我以错误的方式接近它?
如果还有一些字符要匹配,则应考虑前瞻。所以在正则表达式结束时,一个人不会寻找任何东西。只要我不确定您的环境是否支持lookbehinds,这应该是一个解决方法:
\/(?!.*-sent\b)([a-z0-9\-]*)