I\'m trying to find all words with 3 letters in a string.
So in this list
cat monkey dog mouse
I only want
cat dog
To match all words with 3 letters in a string, the pattern needs to be "\b[a-zA-Z]{3}\b"
The next step would be to compile your pattern.
Pattern pattern = Pattern.compile("\\b[a-zA-Z]{3}\\b");
Use a matcher and use the find() and group() methods to print the occurrences
for (String word : sentence) {
Matcher matcher = pattern.matcher(word);
while(matcher.find()) {
System.out.println(matcher.group());
}
}
Your program should look something like -
public static void main(String[] args) {
List sentence = new ArrayList();
sentence.add("cat");
sentence.add("monkey");
sentence.add("dog");
sentence.add("mouse");
Pattern pattern = Pattern.compile("\\b[a-zA-Z]{3}\\b");
for (String word : sentence) {
Matcher matcher = pattern.matcher(word);
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}