MySQL \ regexp \仅搜索包含特定字符的记录

时间:2014-04-03 12:16:59

标签: mysql regex

我想查找来自“mytable”的所有记录。在现场'名称'仅使用下列字符:

Ø-*³`!/-;$€"“-    „”\ø,Ø:’.#*+_/?   !œ³¥Φ?+@=–()<>ąĄćĆęĘłŁńŃóÓśŚż      ŻźŹàáâåéÉêéíıñçãėÊèÈçßœŒæğîïİşúūýōòÒô
  • 从a到z(和A到Z)的常规字母
  • 编号0,1,3,4,5,6,7,8,9
  • 空格和一些标签&#39;迹象

此查询不起作用:

SELECT name
FROM mytable
WHERE name not regexp '[^a-zA-Z0-9Ø-*³`!/-;$€"“-    „”\ø,Ø:’.#*+_/?   !œ³¥Φ?+@=–()<>ąĄćĆęĘłŁńŃóÓśŚż  ŻźŹàáâåéÉêéíıñçãėÊèÈçßœŒæğîïİşúūýōòÒô]'

我知道这个解决方案远非好:)但我尝试了不同的方法 - 这个方法返回最接近所需的结果。你能给我一些提示吗?

1 个答案:

答案 0 :(得分:2)

您可以利用角色类。

例如,代替[ąĄóÓōòÒô...]使用[[=A-Za-z=]]

这将匹配az igoring case中的任何字母,并忽略该字母是否有重音。

检查与您缺少的字符匹配的documentation for additional characters classes