I think you'll need to use MatchResult's method group(int) which gets the contents of a parenthesised group ($1, $2 etc. in Perl). If you want to do substitutions take a look at Perl5Substitution.
For example (pardon any typos!): String aRegex = "^(\d+)-(\d+)"; PatternCompiler compiler = new Perl5Compiler(); PatternMatcher matcher = new Perl5Matcher(); try{ Pattern compiledPattern = compiler.compile(aRegex); if(matcher.matches(inputString, compiledPattern)){ MatchResult mResult = matcher.getMatch(); String prefix = mResult.group(1); String p1 = mResult.group(2); ... } } catch(MalformedPatternException mpe){ ... } hth, my Perl's pretty poor so I hope I got the right idea of what you wanted to do. Dave -----Original Message----- From: Rupinder Singh Mazara [mailto:[EMAIL PROTECTED]] Sent: 22 July 2002 14:46 To: [EMAIL PROTECTED] Subject: Newbee needs help Hi all I am a new user to ORO and need some help I would like to execute the following perl code in java $pages = "something" ; if ($pages =~ /^(\d+)-(\d+)/){ ($p1,$p2) = ($1,$2); } elsif ($pages =~ /^(\d+)$/){ ($p1) = $1; } elsif ($pages =~ /^([A-Za-z]+)(\d+)$/){ ($prefix,$p1) = ($1,$2); } elsif ($pages =~ /^([A-Za-z]+)(\d+)-(\d+)$/){ ($prefix,$p1,$p2) = ($1,$2,$3); } elsif ($pages =~ /^([A-Za-z]+)(\d+)-(\1)(\d+)$/){ ($prefix,$p1,$p2) = ($1,$2,$4); } elsif ($pages =~ /^(\d+)([A-Za-z]+)-(\d+)(\2)$/){ ($p1,$suffix,$p2) = ($1,$2,$3); } elsif ($pages =~ /^(\d+)([A-Za-z]+)$/){ ($p1,$suffix) = ($1,$2); } else { warn "Cant parse pages '$pages'"; } What would be the best way to solve this ? :-( I was considering using Perl4Util ... but donot know how to access ($1,$2) Rupinder -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>