※ 引述《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
--
[1;30m String temp="relax"; | Life just like programing[m
[1;30m while(buringlife) String.forgot(temp); | to be right or wrong[m
[1;30m while(sleeping) brain.setMemoryOut(); | need not to say[m
[1;30m stack.push(life.running); | the complier will[m
[1;30m stack.push(scouting.buck()); | answer your life[m
[1;30m stack.push(bowling.practice()); | [mBone[1;30m everything[m
--
※ 發信站: 批踢踢實業坊(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)