我的商店数据库中有一个地址列表。但很明显,其中很多都是假的;它们由和 之类的字符串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上面表达式中的 。