2016-09-19 74 views
1

我有'标签'表与列(id,链接)。链接可能值:如何使用正则表达式

id link 
1 index 
2 index/index 
3 index/.* 

当我拿到指标,我需要选择ID为1和:

index -> 1 
index/index -> 2 
index/test -> 3 

我用的是这样的:

SELECT * FROM tags WHERE 'index/test' REGEXP link LIMIT 1 

但它返回我的id 1,如果我删除LIMIT第二行将是ID 3.我只需要完整的数学 - 只有ID 3.

+0

“标签”表和tou“id/link”表之间的链接是什么? – Delphine

+0

@Delphine“id/link”表是标签表。 – fantua

+0

由于''index/test''匹配#1和#3,查询应该如何在它们之间进行选择? –

回答

0

也为regexp,列标识tifier先出现,然后是搜索值。当我找到你的时候,每当搜索词不是索引或索引/索引时,你都希望得到id - > 3。所以你的正则表达式可能类似于

SELECT * FROM tags WHERE link REGEXP '[^index/index|^index]$' 
+0

>只要搜索项不是索引或索引/索引 这仅仅是一个例子,我需要完整的数学模式 – fantua

+0

也许用这个RegExp:'[^ index \/index |^index \/+] $'。接受“索引/索引”和“索引/ *”,其中*可以是特殊字符/字母/上限/数字...... – Delphine