Python: compruebe si una string comienza y termina con el mismo carácter o no (usando la expresión regular)

Dada una string. La tarea es escribir una expresión regular para verificar si una string comienza y termina con el mismo carácter.
Ejemplos: 
 

Input :  
abba
Output :  
Valid

Input :  
a
Output :  
Valid

Input :  
abc
Output :  
Invalid

Solución: 
La entrada se puede dividir en 2 casos: 
 

  • String de un solo carácter: todas las strings de un solo carácter cumplen la condición de que comiencen y terminen con el mismo carácter. La expresión regular para una string con solo 1 carácter será- 
     
'^[a-z]$'
  • String de caracteres múltiples: aquí debemos verificar si el primer y el último carácter son iguales o no. Hacemos esto usando \1. La expresión regular será- 
     
'^([a-z]).*\1$'

Las dos expresiones regulares se pueden combinar usando | 
 

'^[a-z]$|^([a-z]).*\1$'

En este programa, utilizaremos el método search() del módulo re.
A continuación se muestra la implementación.
 

Python3

# Python program to check if a string starts
# and ends with the same character
 
# import re module as it provides
# support for regular expressions
import re
 
# the regular  expression
regex = r'^[a-z]$|^([a-z]).*\1$'
 
# function for checking the string
def check(string):
 
    # pass the regular expression
    # and the string in the search() method
    if(re.search(regex, string)): 
        print("Valid") 
    else: 
        print("Invalid") 
 
if __name__ == '__main__' :
 
    sample1 = "abba"
    sample2 = "a"
    sample3 = "abcd"
 
    check(sample1)
    check(sample2)
    check(sample3)

Producción : 
 

Valid
Valid
Invalid

Publicación traducida automáticamente

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