Cómo validar el código IFSC usando expresiones regulares

Dada la string str , la tarea es verificar si la string dada es un Código IFSC (Sistema Financiero Indio) válido o no mediante el uso de Expresión Regular
El Código IFSC (Sistema Financiero Indio) válido debe cumplir las siguientes condiciones: 

  1. Debe tener 11 caracteres.
  2. Los primeros cuatro caracteres deben ser alfabetos en mayúsculas.
  3. El quinto carácter debe ser 0.
  4. Los últimos seis caracteres suelen ser numéricos, pero también pueden ser alfabéticos.

Ejemplos: 

Entrada: string = “SBIN0125620”; 
Salida: verdadero 
Explicación: 
La string dada cumple todas las condiciones mencionadas anteriormente. Por lo tanto, es un Código IFSC (Sistema Financiero Indio) válido.
Entrada: string = “SBIN0125”; 
Salida: falso 
Explicación: 
La string dada tiene 8 caracteres. Por lo tanto, no es un Código IFSC (Sistema Financiero Indio) válido.
Entrada: string = “1234SBIN012”; 
Salida: falso 
Explicación: 
la string dada no comienza con alfabetos. Por lo tanto, no es un Código IFSC (Sistema Financiero Indio) válido.

Enfoque: La idea es usar la expresión regular para resolver este problema. Se pueden seguir los siguientes pasos para calcular la respuesta. 

  • Consigue la cuerda.
  • Cree una expresión regular para verificar el Código IFSC (Sistema Financiero Indio) válido como se menciona a continuación:
regex = "^[A-Z]{4}0[A-Z0-9]{6}$";
  • Dónde: 
    • ^ representa el comienzo de la string.
    • [AZ]{4} representa que los primeros cuatro caracteres deben ser alfabetos en mayúsculas.
    • 0 representa el quinto carácter debe ser 0.
    • [A-Z0-9]{6} representa los siguientes seis caracteres, generalmente numéricos, pero también pueden ser alfabéticos.
    • $ representa el final de la string.

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

C++

// C++ program to validate the
// IFSC (Indian Financial System) Code using Regular Expression
#include <iostream>
#include <regex>
using namespace std;
 
// Function to validate the IFSC (Indian Financial System) Code.
bool isValidIFSCode(string str)
{
 
  // Regex to check valid IFSC (Indian Financial System) Code.
  const regex pattern("^[A-Z]{4}0[A-Z0-9]{6}$");
 
 
  // If the IFSC (Indian Financial System) Code
  // is empty return false
  if (str.empty())
  {
     return false;
  }
 
  // Return true if the IFSC (Indian Financial System) Code
  // matched the ReGex
  if(regex_match(str, pattern))
  {
    return true;
  }
  else
  {
    return false;
  }
}
 
// Driver Code
int main()
{
   
  // Test Case 1:
  string str1 = "SBIN0125620";
  cout << boolalpha << isValidIFSCode(str1) << endl;
 
  // Test Case 2:
  string str2 = "SBIN0125";
  cout << boolalpha << isValidIFSCode(str2) << endl;
 
  // Test Case 3:
  string str3 = "1234SBIN012";
  cout << boolalpha << isValidIFSCode(str3) << endl;
 
  // Test Case 4:
  string str4 = "SBIN7125620";
  cout << boolalpha <<isValidIFSCode(str4) << endl;
 
  return 0;
}
 
// This code is contributed by yuvraj_chandra

Java

// Java program to validate
// IFSC (Indian Financial System) Code
// using regular expression.
import java.util.regex.*;
class GFG {
 
    // Function to validate
    // IFSC (Indian Financial System) Code
    // using regular expression.
    public static boolean isValidIFSCode(String str)
    {
        // Regex to check valid IFSC Code.
        String regex = "^[A-Z]{4}0[A-Z0-9]{6}$";
 
        // Compile the ReGex
        Pattern p = Pattern.compile(regex);
 
        // If the string is empty
        // return false
        if (str == null) {
            return false;
        }
 
        // Pattern class contains matcher()
        // method to find matching between
        // the given string and
        // the regular expression.
        Matcher m = p.matcher(str);
 
        // Return if the string
        // matched the ReGex
        return m.matches();
    }
 
    // Driver Code.
    public static void main(String args[])
    {
 
        // Test Case 1:
        String str1 = "SBIN0125620";
        System.out.println(isValidIFSCode(str1));
 
        // Test Case 2:
        String str2 = "SBIN0125";
        System.out.println(isValidIFSCode(str2));
 
        // Test Case 3:
        String str3 = "1234SBIN012";
        System.out.println(isValidIFSCode(str3));
 
        // Test Case 4:
        String str4 = "SBIN7125620";
        System.out.println(isValidIFSCode(str4));
    }
}

Python3

# Python3 program to validate
# IFSC (Indian Financial System) Code 
# using regular expression
import re
 
# Function to validate
# IFSC (Indian Financial System) Code
# using regular expression.
def  isValidIFSCode(str):
 
    # Regex to check valid IFSC Code.
    regex = "^[A-Z]{4}0[A-Z0-9]{6}$"
     
    # Compile the ReGex
    p = re.compile(regex)
 
    # If the string is empty
    # return false
    if (str == None):
        return False
 
    # Return if the string
    # matched the ReGex
    if(re.search(p, str)):
        return True
    else:
        return False
 
# Driver code
 
# Test Case 1:
str1 = "SBIN0125620"
print(isValidIFSCode(str1))
 
# Test Case 2:
str2 = "SBIN0125"
print(isValidIFSCode(str2))
 
# Test Case 3:
str3 = "1234SBIN012"
print(isValidIFSCode(str3))
 
# Test Case 4:
str4 = "SBIN7125620"
print(isValidIFSCode(str4))
 
# This code is contributed by avanitrachhadiya2155
Producción

true
false
false
false

Usando el método String.matches()

Este método indica si esta string coincide o no con la expresión regular dada. Una invocación de este método de la forma str.matches(regex) produce exactamente el mismo resultado que la expresión Pattern.matches(regex, str). el recompilado cada vez

Java

// Java program to validate
// IFSC (Indian Financial System) Code
// using regular expression.
class GFG {
 
    // Function to validate
    // IFSC (Indian Financial System) Code
    // using regular expression.
    public static boolean isValidIFSCode(String str)
    {
        // Regex to check valid IFSC Code.
        String regex = "^[A-Z]{4}0[A-Z0-9]{6}$";
        return str.trim().matches(regex);
    }
 
    // Driver Code.
    public static void main(String args[])
    {
 
        // Test Case 1:
        String str1 = "SBIN0125620";
        System.out.println(isValidIFSCode(str1));
 
        // Test Case 2:
        String str2 = "SBIN0125";
        System.out.println(isValidIFSCode(str2));
 
        // Test Case 3:
        String str3 = "1234SBIN012";
        System.out.println(isValidIFSCode(str3));
 
        // Test Case 4:
        String str4 = "SBIN7125620";
        System.out.println(isValidIFSCode(str4));
    }
}
Producción

true
false
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 *