w3resource

Java programming Exercises: Matches a string that has a p followed by zero or more q's

Java Regular Expression: Exercise-2 with Solution

Write a Java program that matches a string that has a p followed by zero or more q's.

Sample Solution:

Java Code:

import java.util.Scanner;
public class test {
 
   public static void main(String[] args) {
	   
	    System.out.println(validate("p"));
		System.out.println(validate("pq"));
		System.out.println(validate("pqq"));		
		System.out.println(validate("pqr"));
		System.out.println(validate("prr"));
        }

   public static String validate(String text) {
	   if (text.matches("pq*?"))
                return "Found a match!";
        else
                return "Not matched!";
   }
}

Sample Output:

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

Pictorial Presentation:

Java Regular Expression: Matches a string that has a p followed by zero or more q's.
Java Regular Expression: Matches a string that has a p followed by zero or more q's.
Java Regular Expression: Matches a string that has a p followed by zero or more q's.

Flowchart :

Flowchart: Matches a string that has a p followed by zero or more q's.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Check whether a string contains only a certain set of characters (a-z, A-Z and 0-9).
Next: Find sequences of lowercase letters joined with a underscore.

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