Cómo validar el identificador usando la expresión regular en Java

Dada una string str , la tarea es verificar si la string es un identificador válido o no usando la expresión regular
Las reglas válidas para definir identificadores Java son: 

  • Debe comenzar con el alfabeto en minúsculas [az ] o el alfabeto en mayúsculas [AZ] o guión bajo (_) o un signo de dólar ($) .
  • Debe ser una sola palabra, los espacios en blanco no están permitidos.
  • No debe comenzar con dígitos.

Ejemplos: 

Entrada: str = “$geeks123” 
Salida: Verdadero 
Explicación: La string dada cumple todas las condiciones mencionadas anteriormente.
Entrada: str = “$gee ks123” 
Salida: Falso 
Explicación: La string dada contiene espacios en blanco, por lo tanto, no es un identificador válido.
Entrada: str = “1geeks$” 
Salida: Falso 
Explicación: La string dada comienza con un dígito, por lo tanto, no es un identificador válido.  

Enfoque: Este problema se puede resolver usando Regular Expression

  1. Consigue la cuerda.
  2. Cree una expresión regular para verificar los identificadores válidos. 
regex = "^([a-zA-Z_$][a-zA-Z\\d_$]*)$";

        3. donde:  

  • ^ representa el carácter inicial de la string.
  • [a-zA-Z_$] representa, la string comienza solo con el alfabeto en minúsculas o en mayúsculas o guión bajo (_) o signo de dólar ($).>/li> 
     
  • [a-zA-Z\\d_$]* representa, la string puede ser alfanumérica o guión bajo (_) o signo de dólar ($) después del primer carácter de la string. Contiene uno o más tiempos.
  • $ representa el final de la string.

       4. Haga coincidir la string dada con Regex. En Java, esto se puede hacer usando Pattern.matcher() .

       5. Devuelve verdadero si la string coincide con la expresión regular dada; de lo contrario, devuelve falso.

A continuación se muestra la implementación del enfoque anterior:

Java

// Java program to validate the
// identifiers using Regular Expression.
 
import java.util.regex.*;
 
class GFG {
 
    // Function to validate the identifier.
    public static boolean
    isValidIdentifier(String identifier)
    {
 
        // Regex to check valid identifier.
        String regex = "^([a-zA-Z_$][a-zA-Z\\d_$]*)$";
 
        // Compile the ReGex
        Pattern p = Pattern.compile(regex);
 
        // If the identifier is empty
        // return false
        if (identifier == null) {
            return false;
        }
 
        // Pattern class contains matcher() method
        // to find matching between given identifier
        // and regular expression.
        Matcher m = p.matcher(identifier);
 
        // Return if the identifier
        // matched the ReGex
        return m.matches();
    }
 
    // Driver Code.
    public static void main(String args[])
    {
 
        // Test Case 1:
        String str1 = "$geeks123";
        System.out.println(isValidIdentifier(str1));
 
        // Test Case 2:
        String str2 = "$gee ks123";
        System.out.println(isValidIdentifier(str2));
 
        // Test Case 3:
        String str3 = "1geeks$";
        System.out.println(isValidIdentifier(str3));
    }
}
Producción: 

true
false
false

 

Publicación traducida automáticamente

Artículo escrito por prashant_srivastava 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 *