Skip to content
Related Articles

Related Articles

Find all the patterns of “1(0+)1” in a given string | SET 2(Regular Expression Approach)

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 13 Jul, 2022
View Discussion
Improve Article
Save Article

In Set 1, we have discussed general approach for counting the patterns of the form 1(0+)1 where (0+) represents any non-empty consecutive sequence of 0’s.In this post, we will discuss regular expression approach to count the same. Examples:

Input : 1101001
Output : 2

Input : 100001abc101
Output : 2

Below is one of the regular expression for above pattern

10+1

Hence, whenever we found a match, we increase counter for counting the pattern.As last character of a match will always ‘1’, we have to again start searching from that index. 

Implementation:

Java




//Java program to count the patterns
// of the form 1(0+)1 using Regex
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
class GFG
{
 static int patternCount(String str)
 {
  // regular expression for the pattern
  String regex = "10+1";
   
  // compiling regex
  Pattern p = Pattern.compile(regex);
     
  // Matcher object
  Matcher m = p.matcher(str);
   
  // counter
  int counter = 0;
     
  // whenever match found
  // increment counter
  while(m.find())
  {
   // As last character of current match
   // is always one, starting match from that index
   m.region(m.end()-1, str.length());
    
   counter++;
  }
     
  return counter;
 }
  
 // Driver Method
 public static void main (String[] args)
 {
  String str = "1001ab010abc01001";
  System.out.println(patternCount(str));
 }
}

Output

2

Time Complexity: O(n) 
Auxiliary Space: O(1)

Related Articles :

This article is contributed by Gaurav Miglani. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!