gpt4 book ai didi

mysql - 你如何使用mysql的正则表达式匹配偶数个字母或奇数个字母

转载 作者:IT王子 更新时间:2023-10-29 00:38:57 27 4
gpt4 key购买 nike

有谁知道如何在 mysql 中使用正则表达式匹配偶数和奇数字母?我需要匹配偶数个 A,然后是奇数个 G,然后至少匹配一个 TC?例如:acgtccAAAAGGGTCatg 会匹配。这是DNA测序的东西

最佳答案

偶数个 A 可以表示为 (AA)+(AA 的一个或多个实例;因此它将匹配 AA、AAAA、AAAAAA.. .).奇数个 G 可以表示为 G(GG)*(一个 G 后跟零个或多个 GG 实例,因此'将匹配 G、GGG、GGGGG...)。

把它们放在一起,你就得到了:

/(AA)+G(GG)*TC/

但是,由于正则表达式引擎会尝试尽可能匹配,因此该表达式实际上会匹配 AAAGGGTC 的子字符串(即 AAGGGTC)!为了防止这种情况,您可以使用 negative lookbehind确保第一个 A 之前的字符不是另一个 A:

/(?<!A)(AA)+G(GG)*TC/

...除了 MySQL 在其正则表达式中不支持环视。

您可以改为指定模式从字符串的开头开始(anchored by ^),或者前面有一个不是 A 的字符:

/(^|[^A])(AA)+G(GG)*TC/

但请注意,使用此模式,如果在字符串的开头找不到该模式,则会捕获一个额外的字符,因此如果第一个字符不是 A,则您必须将其截断。

关于mysql - 你如何使用mysql的正则表达式匹配偶数个字母或奇数个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5581894/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com