Comprobar si una string binaria tiene un 0 entre 1 o no | Conjunto 2 (Enfoque de expresiones regulares)

Dada una string de 0 y 1, debemos verificar que la string dada sea válida o no. La string dada es válida cuando no hay ningún cero presente entre 1. Por ejemplo, 1111, 0000111110, 1111000 son strings válidas pero 01010011, 01010, 101 no lo son. Ejemplos:

Input : 100
Output : VALID

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

Input : 00011
Output : VALID

En el Conjunto 1 , hemos discutido el enfoque general para la validez de la string. En esta publicación, discutiremos el enfoque de expresión regular para el mismo y es simple. Como sabemos que en una string, si hay cero entre 1, entonces la string no es válida. Por lo tanto, a continuación se muestra una de las expresiones regulares para el patrón de string no válido.

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

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *