943,587 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 3220
  • Java RSS
Aug 25th, 2004
0

matching regular expressions

Expand Post »
Hi there,

First off I'm new to java and coding in general so please bear with me. I'm trying to write a bit of code that will convert something like the following
con(pk(B),pk(AS),pk(A),B)
to this
k_B, k_AS, k_A, B

I have written the following code :

Pattern pk = Pattern.compile("pk(.*)"); //Regular Expression Pattern

int varsLen = initialVars.length();
String[] elements = initialVars.split(","); //Split up the terms
for (int x=0; x<elements.length; x++) {
Matcher m = pk.matcher(elements[x]); //match array element
boolean b = m.matches(); //Does array element match
if (b) { //If there is a match
pkStart = elements[x].indexOf("pk(", pkEnd) + "pk(".length();
pkEnd = elements[x].indexOf(")",pkStart);
elements[x] = elements[x].substring(pkStart,pkEnd);
csPrelimOut = "k_"+elements[x];
csOut = csOut.concat(csPrelimOut);
} else {
csPrelimOut = elements[x];
csOut = csOut.concat(csPrelimOut);
}

}
csOut = csOut.replace(' ',',');

When I use this code it always works for the first element of the array but not the remaining elements. I'd get k_B from pk(B), but for the remaining pk() elements i'd just get them reiterated e.g. pk(AS) would remain pk(AS). I've never used regular expressions before so maybe that's where I'm going wrong. From "Pattern pk = Pattern.compile("pk(.*)");", I mean to set up a regular expression that starts with "pk(", then can be followed by 1 or more characters, and finally ended with ")". Does anyone have any idea how I might sort this out? Thanks a million.
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
macca1979 is offline Offline
6 posts
since Jul 2004
Aug 26th, 2004
0

Re: matching regular expressions

I think you should use the string tokenizer for the following expression .. it'll be much easier for you to code.
Team Colleague
Reputation Points: 45
Solved Threads: 56
Unauthenticated Liar
nanosani is offline Offline
1,767 posts
since Jul 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: Saving a file
Next Thread in Java Forum Timeline: Help with program...Please......





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC