我的商店数据库中有一个地址列表。但很明显,其中很多都是假的;它们由和 之类的字符串dfdfdfsd@somewhere.com
组成qwsdrtghj@somewherelse.com
。
换句话说:至少连续 5 个双元音。如何在 中搜索这样的字符串SQL query
?基本上: anydiphthong
后跟 anydiphthong
和 that 5 times
。
我的商店数据库中有一个地址列表。但很明显,其中很多都是假的;它们由和 之类的字符串dfdfdfsd@somewhere.com
组成qwsdrtghj@somewherelse.com
。
换句话说:至少连续 5 个双元音。如何在 中搜索这样的字符串SQL query
?基本上: anydiphthong
后跟 anydiphthong
和 that 5 times
。
看起来你正在加倍一些辅音来确定双元音。例如:
dfdfdfsd
如果我把df
, df
,df
和算作sd
单独的双元音,总数是四个。所以看起来你可能会重叠:
dfdfdfsd
^df
^fd
^df
^fd
^df
^fs
^sd
总共有 7 个双元音。
我不知道如何匹配,那么只检查是否连续有 5 个(或更多)辅音怎么样?这将做到:
email RLIKE '[b-df-hj-np-twxz]{5,}'
如果您不想将y
其视为元音,只需将其添加到上面的字符串中即可。将其放在x
和之间z
以提高可读性,或者至少不要将其放在连字符之一之后,否则会破坏表达式。
同样,如果连续 6 个(或 7 个或 8 个)辅音是您所追求的临界点,则相应地调整5
上面表达式中的 。