mySQL REGEXP匹配逗号之间的值

时间:2012-11-13 22:49:43

标签: mysql sql regex


在我的数据库中过滤我的条目时,我一直在研究REGEXP。 我有一个列用逗号分隔的列,如下所示:
id col A
| --- | ------------------------ |
| 1 |警:1,P:2,P:5,P:7 |
| 2 | P:6,P:8,P:10,P:11 |
| 3 |警:4,P:3,P1,P:0 |
| 4 | P:2,P:1 |
| --- | ------------------------ |

假设我想要包含值P:1的行,如何在表单中设计REGEXP:

SELECT * FROM `table` WHERE `col A` REGEXP '?'

这样我得到第1行和第4行?我以前的方法只是使用:

SELECT * FROM `table` WHERE `col A` LIKE 'P:1'

然而,这自然也会返回第2行,因为它在技术上包含P:1 ...
任何帮助将不胜感激,我认为这个问题对于正则表达专家来说相当简单!

干杯,郎安德烈斯

1 个答案:

答案 0 :(得分:0)

您需要阅读word boundaries

  

[[:<:]],[[:>:]]

     

这些标记代表字边界。它们分别匹配单词的开头和结尾。单词是一系列单词字符,其前面或后面没有单词字符。单词字符是alnum类中的字母数字字符或下划线(_)。