Check if a binary string has a 0 between 1s or not | Set 2 (Regular Expression Approach)
Last Updated :
23 Jul, 2025
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.
- Loop over the matcher(string)
- 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 <iostream>
#include <regex>
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 string
import re
# Method to check for valid string
def checkString(str):
# regular expression for invalid string
regex = "10+1"
x = re.search("10+1", str)
return x is None
#Driver method
str = "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 string
function checkString(str)
{
// returns true if string contains only 0 and 1
// otherwise, returns false
return str.match(/^[0-1]+$/) != null;
}
// Driver method
let str = "01";
console.log(checkString(str) ? "VALID" : "NOT VALID");
// This code is contributed by phasing17
Time complexity : O(n)
Auxiliary Space : O(1)
Explore
DSA Fundamentals
Data Structures
Algorithms
Advanced
Interview Preparation
Practice Problem