我正在制作一个使用独特slu to来识别文章的新闻系统.在创建新文章时,我需要确保该独特的slug尚未使用.因此,如果两篇文章具有完全相同的名称,则它们将生成完全相同的slug.我想在它正在使用的情况下在slug的末尾添加一个数字.
像这样:
>一些非常有趣的文章
>一些非常有趣的文章-1
>一些非常有趣的文章-2
等等.因此,在我的测试用例中,我选择的数据库中的所有记录都与“一些非常有趣的文章”完全匹配,并带有0或更多“-number”.因此,在这种情况下,我将返回3行,因此下一个slug将是“some-really-interesting-article-3”.
除了我的正则表达式行为特殊(或者可能非常正常,我只是吮吸正则表达式)并且还返回具有部分匹配的行时,这很有效.因此,如果我搜索“有些非常有趣”,那就会过去.
SELECT id, title, slug
FROM news
WHERE slug RLIKE '([[:<:]]some-really-interesting-article[[:>:]][-\d]*)'
正如我所说的,如果我运行上面的正则表达式“有些非常有趣”,它将返回所有3行.
请告诉我,我公然无知地做错了.谢谢.
解决方法:
那这个呢 ?
"^some-really-interesting-article(-[[:digit:]]+)?$"
希望这会工作:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。