我有一张这样的表:
// routes
+----+-----------------------------+
| id | route |
+----+-----------------------------+
| 1 | /tracking_code/expire/{id} |
| 2 | /tracking_code/list |
+----+-----------------------------+
{}
表示动态值。我需要匹配此条目值的第一行:/tracking_code/expire/2
。我想我需要使用正则表达式。知道我该怎么办?
我目前的解决方法是使用LIKE
这样的句子:
SELECT * FROM routes WHERE route LIKE :entry%
另外,我应该删除 /tracking_code/expire/
之类的条目结尾。
可悲的是,我的方法不适合这样复杂的路线:/tracking_code/expire/{id}/temp
。无论如何,我应该如何使用正则表达式?
答案 0 :(得分:0)
您可以像这样使用RLIKE
SELECT * FROM routes WHERE route RLIKE '^.*[0-9]+.*$'
替换使用正则表达式我不认为这是可能的,但有一些偷偷摸摸的方式,请阅读这篇文章How to do a regular expression replace in MySQL?