我有一行DNA代码,我正在尝试使用Java正则表达式将密码子(3个字母序列)与氨基酸相匹配。以下是其中一种模式的示例:
Pattern A = Pattern.compile(("gct")||("gcc")||("gca")||("gcg"));
此语法似乎无论是否使用圆括号。最终,该代码的目的是计算在DNA串中发现氨基酸的次数,并且因为有大约20个氨基酸,所以我有许多模式。任何人都可以帮我找到一种优雅的方式吗?
我知道我可以使用string1.equals(string2)等,但我真的更喜欢使用正则表达式。任何帮助将不胜感激!
答案 0 :(得分:4)
你传递Pattern.compile()
一个布尔值,它应该是一个字符串:
Pattern A = Pattern.compile("(gct)|(gcc)|(gca)|(gcg)");
答案 1 :(得分:-1)
<击>此:击>
<击>/("gct")||("gcc")||("gca")||("gcg")/
等于:
/("gtc")/
因为双||意味着没有匹配。你猜怎么着?它永远匹配!
而是尝试使用一个|
/("gct")|("gcc")|("gca")|("gcg")/
击> <击> 撞击>
甚至更好:
"gc[tcag]"
修改强>
哇没注意到@Tim
的布尔值:) +1