REGEX - 仅选择包含字母和句号的行

时间:2012-09-15 13:34:43

标签: mysql

我一直在尝试编写此查询,我需要选择列中只包含字母(a-z)和句号的行。

我尝试了这个,但它不起作用:

SELECT * FROM table WHERE (c1 REGEXP '[^a-zA-Z\.]') = 0

这个通常可以在PHP中使用。

1 个答案:

答案 0 :(得分:8)

尝试:

SELECT * FROM table WHERE c1 REGEXP '^[a-zA-Z.]+$'

^$确保您匹配整个字符串而不是它的一部分。接下来,字符类[a-zA-Z.]匹配单个大写/小写字母或句点。 +是前一个子正则表达式的一次或多次重复的量词,因此在这种情况下,它允许我们匹配句点或大写/小写字母中的一个或多个。

More info on regex usage in MySQL