作者TonyQ (骨头)
看板java
标题Re: [问题] 逻辑问题
时间Sat Feb 17 20:12:34 2007
※ 引述《DavyBlue (ArssertionError)》之铭言:
: ※ 引述《zanyking (遥远的旅人)》之铭言:
: : DeBUG完的结果也顺便PO一下吧,这样可以让讨论串更加完整。
: 托你的福 又重写了一次
: 之前那个贴CODE的网站 连结过没几天就爆了
: 好像只能暂时放
: 下面是可以work的完整程式码
: 如果有人想要结合ArrayList和regex的解法的话我再mail给他
: 写起来麻烦又长...
: Pattern跟Matcher的应用
真是又麻烦又长...(烟)
──────解决问题用─────────────────────
//import java.util.regex.*;
String word="aaababaaaabbababa"; //Scanner不是重点,不另写.
Pattern p1 = Pattern.compile("(aaa)|(aba)");
Matcher m1 = p1.matcher(word);
while(m1.find()){
if(m1.group().matches("aaa")){
System.out.print("0");
}else{
System.out.print("1");
}
}
System.out.println();
──弹性较大版───since 1.5.0──────────────
//import java.util.regex.*;
//import java.util.*;
String word="aaababaaaabbababa";
//同上 Scanner(或BufferedReader)不另写
HashMap<String,String> HM=new HashMap<String,String>();
/*在这里设立规则*/
HM.put("aaa","0");
HM.put("aba","1");
/*以下不需变动*/
Iterator<String> ir=HM.keySet().iterator();
StringBuffer pattern=new StringBuffer("");
while(ir.hasNext()){
pattern.append(String.format("(%s)",ir.next()));
if(ir.hasNext()) pattern.append("|");
}
Matcher m1 = Pattern.compile(pattern.toString()).matcher(word);
while(m1.find()){
System.out.print(HM.get((m1.group())));
}
System.out.println();
--
黑猫白猫 能抓的到老鼠的就是好猫 ;p
--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.practice()); | Bone
everything
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.171.121.11
※ 编辑: TonyQ 来自: 218.171.121.11 (02/17 20:14)
※ 编辑: TonyQ 来自: 218.171.121.11 (02/17 20:19)