Eclipse使用正则表达式截取指定字符串之间的内容
目的是要输出开头为ATG,结尾为TAG或TAA或TGA的中间内容。例如,若输入TTATGTTTTAAGGATGGGGCGTTAGTT,则会输出TTT和GGGCGT两条。图...
目的是要输出开头为ATG,结尾为TAG或TAA或TGA的中间内容。例如,若输入TTATGTTTTAAGGATGGGGCGTTAGTT,则会输出TTT和GGGCGT两条。图为我写的代码。萌新知道发生了什么错误,但是学习的语言有限不知道该如何修改,求大佬指点
展开
1个回答
展开全部
Java正则表达式 ATG(.*?)((TAG)|(TAA)|(TGA))
按照你的要求编写的用正则表达式截取指定字符串之间的内容的程序如下
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Project4_2 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String a=input.next();
String regex="ATG(.*?)((TAG)|(TAA)|(TGA))";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(a);
if(m.find()==true){
m.reset();
while(m.find()){
System.out.println(m.group(1));
}
}else{
System.out.println("No gene is found.");
}
}
}
运行结果
TTATGTTTTAAGGATGGGGCGTTAGTT
TTT
GGGCGT
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询