• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 852
  • Last Modified:

java reg expression string search

This is most likely a simple question, but I don't have much experience with regexp's.  

I have a log file which my java program just read in as a string and I'd like to find all occurences of where it says "Error 00-E1122"  where 00-E1122 would obviously change.  So what I need is to get all of the error code values (but just the error value, not including the word Error), ideally have it in a vector of strings.
0
cfans
Asked:
cfans
  • 4
  • 4
  • 3
1 Solution
 
ZvonkoSystems architectCommented:
Only the numbers?
Can we see some longer text and show you how to get all the rest too?
Also state the message code format. Is the error code format always: 99-E9999


0
 
cfansAuthor Commented:
I apologize, this may help... the error code format is always found as: {Error 123ABC} format.  
So you can always be certian that it will be {Error someNumLetterDashSequence} and it will be in the brackets.  All I need is the Number/Letter/Dash sequence.
0
 
ZvonkoSystems architectCommented:
Some examples for the COMPLETE string of the message would be good and the statements what parts you expect where.

0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
ZvonkoSystems architectCommented:
Or can we say: all characters following the word "Error" and one or more blanks is the error number. The error number ends when all alpha, digit and dash chars are eaten or char not from the set of error number chars is found, right?

 
0
 
cfansAuthor Commented:
Zvonoko, you can say all characters following  "{Error" with 1 or more blank spaces and the error sequence (which is alpha, digit and dash) then ending in "}"
0
 
ZvonkoSystems architectCommented:
And why do you not post an example sting?
0
 
CEHJCommented:

>>I have a log file which my java program just read in as a string

Sound somewhat inefficient. You should read line by line. What happens when it gets large?

String error = line.replaceAll("\\{Error ([^}]+)", "$1");

Open in new window

0
 
CEHJCommented:
Sorry - i must be tiring ;-)


Pattern p = Pattern.compile("\\{Error ([^}]+)");
Matcher m = p.matcher(line);
if (m.find()) System.out.println(m.group(1));

Open in new window

0
 
cfansAuthor Commented:
CEHJ.. what if there are more than one within a single line?
0
 
CEHJCommented:
Replace if by while
0
 
CEHJCommented:
:-)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

  • 4
  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now