I’m doing a project which requires numerical pattern matching.
For example i want to know whether Value = 1331 is a part of 680+651 = 1331 or not, i.e. i want to match 1331 with 680+651 = 1331 or any other given string.
I’m trying pattern matching in java for the first time and i could not succeed. Below is my code snippet.
String REGEX1=s1; //s1 is '1331'
pattern = Pattern.compile(REGEX1);
matcher = pattern.matcher(line_out); //line_out is for ex. 680+651 = 1331
System.out.println("lookingAt(): "+matcher.lookingAt());
System.out.println("matches(): "+matcher.matches());
It is returning false all the times.
Pls help me.
The
matchesmethod requires a perfect, full exact match. Since there is more text in680+651=1331than what is matched by the regex1331, matches returnsfalse.As I pointed out in Brian’s post, you need to be careful in your regex to ensure that a regex of
1331does not match the number213312unless that is what you want.