Eclipse使用正则表达式截取指定字符串之间的内容

目的是要输出开头为ATG,结尾为TAG或TAA或TGA的中间内容。例如,若输入TTATGTTTTAAGGATGGGGCGTTAGTT,则会输出TTT和GGGCGT两条。图... 目的是要输出开头为ATG,结尾为TAG或TAA或TGA的中间内容。例如,若输入TTATGTTTTAAGGATGGGGCGTTAGTT,则会输出TTT和GGGCGT两条。图为我写的代码。萌新知道发生了什么错误,但是学习的语言有限不知道该如何修改,求大佬指点 展开
 我来答
紫薇参星
科技发烧友

2017-11-20 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3569万
展开全部

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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式