我需要在MySQL中匹配一个字段,本以为可以使用正则表达式,但是似乎MySQL没有我需要的功能来完成这个工作。以下是场景:
我在PHP中有一个名为 $url 的变量。假设这个变量被设置为字符串 "/article/my-article/page/2"。我还有一个存储URL的MySQL表,我希望能够从中获取内容。然而,我的表中存储的URL包括通配符。
之前,我将表中存储的值设置为:"/article/%/page/%"。
通过这种配置,我只需要运行:
SELECT * FROM urls WHERE '$url' LIKE url
这样可以匹配,这是想要的功能。
现在我想做的是允许更高级的通配符,使得我的MySQL数据可以是"/article/{{slug}}/page/{{page_no}}",而不是"/article/%/page/%"。
我想创建一个SQL查询来匹配这些数据,使用相同的$url输入。由于我不再使用内置的"%"通配符,而是使用{{.*}},所以LIKE不再是正确的比较方法。有什么想法可以实现这个目标吗?