Check if a binary string has a 0 between 1s or not | Set 2 (Regular Expression Approach)

1.5

Given a string of 0 and 1, we need to check that the given string is valid or not. The given string is valid when there is no zero is present in between 1’s. For example, 1111, 0000111110, 1111000 are valid strings but 01010011, 01010, 101 are not.

Examples:

Input : 100
Output : VALID

Input : 1110001
Output : NOT VALID
There is 0 between 1s

Input : 00011
Output : VALID

In Set 1, we have discussed general approach for validity of string.In this post, we will discuss regular expression approach for same and it is simple.

As we know that in a string if there is zero between 1’s, than string is not valid.Hence below is one of the regular expression for invalid string pattern.

10+1

So here is the simple regex algorithm.

  1. Loop over the matcher(string)
  2. if above regex match is find in the matcher, then string is not valid, otherwise valid.
// Java regex program to check for valid string

import java.util.regex.Matcher;
import java.util.regex.Pattern;

class GFG 
{
    // Method to check for valid string
    static boolean checkString(String str)
    {
        // regular expression for invalid string
        String regex = "10+1";
        
        // compiling regex
        Pattern p = Pattern.compile(regex);
        
        // Matcher object
        Matcher m = p.matcher(str);
        
        // loop over matcher
        while(m.find())
        {
            // if match found,
            // then string is invalid
            return false;
        }
         
        // if match doesn't found
        // then string is valid
        return true;    
    }

    // Driver method
    public static void main (String[] args)
    {
        String str = "00011111111100000";
        
        System.out.println(checkString(str) ? "VALID" : "NOT VALID");
    }
}

Output:

VALID

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

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

GATE CS Corner    Company Wise Coding Practice

Recommended Posts:



1.5 Average Difficulty : 1.5/5.0
Based on 2 vote(s)










Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here.