P58 模式匹配 代碼補完
MatchExample.java
- import java.util.regex.*;
- class MatchExample
- {
- public static void main(String args[ ])
- {
- Pattern p;
- Matcher m;
- String patternString="A//DB";
- // 給出一個正則表達式
- String matchedString="AdB324A12BAiB23AlB2";
- // 給出待匹配的字符序列
- p=Pattern.compile(patternString);
- // 用模式patternString初試化模式對象p
- m=p.matcher(matchedString);
- // 用matchedString初始化匹配對象m
- while(m.find())
- {
- String str=m.group();
- System.out.print("從"+m.start()+"到"+m.end()+"匹配模式子序列:");
- System.out.println(str);
- }
- // 查找matchedString中和patternString匹配的全部子字符串,
- // 並輸出這些子字符串,以及它們在matchedString中的起止位置
- String temp=m.replaceAll("####");
- System.out.println(temp);
- System.out.println(matchedString);
- matchedString="ACBHGY234jjj434";
- // 重新給出待匹配的字符序列
- m=p.matcher(matchedString);
- // 重新初始化匹配對象m
- if(m.matches())
- // 判斷matchedString是否匹配patternString的條件表達式
- {
- String str=m.group();
- System.out.println(str);
- }
- else
- {
- System.out.println("不完全匹配");
- }
- if(m.lookingAt())
- // 判斷從matchedString的開始位置是否有和patternString匹配的子序列
- {
- String str=m.group();
- System.out.println(str);
- }
- }
- }