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 .
- Consigue la cuerda.
- 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)); } }
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