1 57 58 import org.apache.oro.text.regex.*; 59 60 67 public final class matchResultExample { 68 69 77 public static final void main(String args[]) { 78 int groups; 79 PatternMatcher matcher; 80 PatternCompiler compiler; 81 Pattern pattern = null; 82 PatternMatcherInput input; 83 MatchResult result; 84 85 if(args.length < 2) { 87 System.err.println("Usage: matchResult pattern input"); 88 return; 89 } 90 91 compiler = new Perl5Compiler(); 93 matcher = new Perl5Matcher(); 94 95 try { 98 pattern = compiler.compile(args[0]); 99 } catch(MalformedPatternException e) { 100 System.err.println("Bad pattern."); 101 System.err.println(e.getMessage()); 102 return; 103 } 104 105 input = new PatternMatcherInput(args[1]); 111 112 113 while(matcher.contains(input, pattern)) { 115 result = matcher.getMatch(); 117 118 122 System.out.println("Match: " + result.toString()); 128 129 System.out.println("Length: " + result.length()); 134 135 groups = result.groups(); 138 System.out.println("Groups: " + groups); 139 140 System.out.println("Begin offset: " + result.beginOffset(0)); 146 System.out.println("End offset: " + result.endOffset(0)); 147 System.out.println("Groups: "); 148 149 152 for(int group = 1; group < groups; group++) { 154 System.out.println(group + ": " + result.group(group)); 155 System.out.println("Begin: " + result.begin(group)); 156 System.out.println("End: " + result.end(group)); 157 } 158 } 159 } 160 } 161 | Popular Tags |