在mysql中使用正则表达式来选择特定的行

时间:2012-02-16 16:22:43

标签: mysql regex

我正在尝试选择与patten匹配的一小组记录,每行都有一系列数字,例如

1 2 3 其中一些有子号 3.1 3.2 4 5

我只能使用

选择整数
REGEXP '^[0-9]+$' 

我可以选择所有拥有的行。在其中像3.1 3.2等使用

REGEXP '[.]{1}' 

但我似乎无法选择仅以3开头的子号码我已尝试

REGEXP '[^3.]{1,}' 

但返回所有记录

理想情况下,我想只返回格式为3.1的记录我想定义起始编号和点所以3.然后第二部分匹配记录

我希望这是有道理的

2 个答案:

答案 0 :(得分:1)

我使用'3\.[0-9]{1,}' - 匹配。

你的失败原因可能是因为未转义的点 - .,它匹配每个角色。 使用\

转义字符

答案 1 :(得分:1)

格式3.d,其中d为数字:

3\\.[0-9]