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

• Difficulty Level : Basic
• Last Updated : 17 Jan, 2023

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.

Implementation:

## C++

 // C++ regex program to check for valid string#include #include using namespace std;     // Method to check for valid string    bool checkString(string str)    {        // regular expression for invalid string        const regex Regex("10+1");         // if the regex does not match the string        // then it is valid        return !regex_match(str, Regex);    }     // Driver method    int main()    {        string str = "00011111111100000";         // Function call        cout<<(checkString(str) ? "VALID"                                        : "NOT VALID");                 return 0;    } // This code is contributed by Aman Kumar

## Java

 // 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");    }}

## Python3

 # Python3 regex program to check for valid stringimport re # Method to check for valid stringdef checkString(str):    # regular expression for invalid string    regex = "10+1"    x = re.search("10+1", str)    return x is None #Driver methodstr = "00011111111100000" if checkString(str):    print("VALID")else:    print("NOT VALID")     #this code is contributed by phasing17

## C#

 // C# regex program to check for valid string using System;using System.Text.RegularExpressions; class GFG {    // Method to check for valid string    static bool checkString(string str)    {        // regular expression for invalid string        Regex regex = new Regex(@"10+1");         // if the regex does not match the string        // then it is valid        return !regex.IsMatch(str);    }     // Driver method    public static void Main(string[] args)    {        string str = "00011111111100000";         // Function call        Console.WriteLine(checkString(str) ? "VALID"                                           : "NOT VALID");    }} // This code is contributed by phasing17

## Javascript

 // JavaScript regex program to check for valid string  // Method to check for valid stringfunction checkString(str){    // returns true if string contains only 0 and 1    // otherwise, returns false    return str.match(/^[0-1]+\$/) != null; }    // Driver methodlet str = "01";           console.log(checkString(str) ? "VALID" : "NOT VALID");  // This code is contributed by phasing17

Output

VALID

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

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