w3resource

Java programming Exercises: Match a word containing 'g', not at the start or end of the word

Java Regular Expression: Exercise-7 with Solution

Write a Java program that matches a word containing 'g', not at the start or end of the word.

Sample Solution:

Java Code:

import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class test {
 
   public static void main(String[] args) {
	   
	    System.out.println(validate("The quick brown fox jumps over the lazy dog."));
		System.out.println(validate("Java Exercises."));
		System.out.println(validate("Programming Language"));
		System.out.println(validate("Do humans eat gizzards?"));
		System.out.println(validate("PostgreSQL"));
        }

   public static String validate(String text) {
	    Pattern pattern = Pattern.compile("\\Bg\\B");
		 Matcher m = pattern.matcher(text);
		
	   if (m.find())
                return "Found a match!";
       else
                return "Not matched!";
   }
}

Sample Output:

Not matched!
Not matched!
Found a match!
Not matched!
Found a match!

Pictorial Presentation:

Java Regular Expression: Match a word containing 'g', not at the start or end of the word.
Java Regular Expression: Match a word containing 'g', not at the start or end of the word.

Flowchart :

Flowchart: Match a word containing 'g', not at the start or end of the word.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Check a word containing the character g in a given string.
Next: Match a string that contains only upper and lowercase letters, numbers, and underscores.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Share this Tutorial / Exercise on : Facebook and Twitter

Java: Tips of the Day

What is the best way to filter a Java Collection?

Java 8 (2014) solves this problem using streams and lambdas in one line of code:

List<Person> beerDrinkers = persons.stream()
    .filter(p -> p.getAge() > 16).collect(Collectors.toList());

Use Collection#removeIf to modify the collection in place. (Notice: In this case, the predicate will remove objects who satisfy the predicate):

persons.removeIf(p -> p.getAge() <= 16);

lambdaj allows filtering collections without writing loops or inner classes:

List beerDrinkers = select(persons, having(on(Person.class).getAge(),
    greaterThan(16)));

Ref: https://bit.ly/3uwYid6