mySQL字符串匹配

时间:2011-01-17 10:05:34

标签: php mysql sql regex

我需要查询我的数据库以查找介于2个日期之间的记录(这很简单)但是我需要优化搜索,以便它只查找电子邮件属于某些约束的记录,基本上我需要删除任何属于2个日期且格式为

的行

x.xxxxxXXXXX@xxxxxxxx.xxx

基本上我需要查找以字母开头,然后是完整停止并在@符号前有5个数字的电子邮件地址。这是可能的mySQL,如果是这样,如果不是,我怎么能用PHP搜索这些电子邮件地址?

2 个答案:

答案 0 :(得分:1)

您需要使用正则表达式。 MySQL 5.1支持这些:documentation page。这也可以使用preg_match在PHP中完成。

您重新表达的表达式可能如下:[a-zA-Z]\.[a-zA-Z]+[0-9]{5}@.+

答案 1 :(得分:0)

如果您觉得有用,也可以使用。实施例

LIKE '_.__________@______.___'

但是,它不会检测数字。 在这种情况下,你必须使用正则表达式

docs

正则表达式应该是这样的:(从上面的例子改变)

[a-zA-Z]{1}\.[a-zA-Z]+[0-9]{5}@([_a-z0-9\-])\.[a-zA-Z]