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

Dra*_*cir 5 mysql

我一直在尝试编写这个查询,我需要选择列只有字母(az)和句号的行.

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

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

这个通常适用于PHP.

cod*_*ict 9

尝试:

SELECT * FROM table WHERE c1 REGEXP '^[a-zA-Z.]+$'
Run Code Online (Sandbox Code Playgroud)

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

有关MySQL中正则表达式使用的更多信息