Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 문자열이 영숫자로 끝나는지 확인하는 프로그램

문자열이 영숫자(alphanumeric) 문자로 끝나는지 확인해야 할 때는 정규 표현식(Regular Expression)을 사용하는 것이 가장 간편합니다. 파이썬에서는 내장 모듈인 re를 활용하여 특정 패턴과 일치하는지 손쉽게 검사할 수 있습니다.

이 글에서는 문자열의 마지막 문자가 알파벳(a~z, A~Z) 또는 숫자(0~9)인지 판별하는 메서드를 정의하고, 그 결과를 출력하는 방법을 소개합니다.

핵심 아이디어

정규 표현식 [a-zA-Z0-9]$에서 $ 기호는 '문자열의 끝'을 의미합니다. 따라서 이 패턴은 문자열의 마지막 문자가 영문자나 숫자일 때만 일치하게 됩니다.

예제

아래는 전체 동작 과정을 보여주는 예제 코드입니다.

import re

regex_expression = '[a-zA-Z0-9]$'

def check_string(my_string):

   if(re.search(regex_expression, my_string)):
      print("The string ends with alphanumeric character")

   else:
      print("The string does not end with alphanumeric character")


my_string_1 = "Python@"
print("The string is :")
print(my_string_1)
check_string(my_string_1)

my_string_2 = "Python1245"
print("\nThe string is :")
print(my_string_2)
check_string(my_string_2)

출력 결과

The string is :
Python@
The string does not end with alphanumeric character
The string is :
Python1245
The string ends with alphanumeric character

코드 설명

  • 먼저 정규 표현식을 다루기 위한 필수 모듈인 re를 임포트합니다.

  • 검사에 사용할 정규 표현식 문자열 [a-zA-Z0-9]$를 정의합니다. 이 패턴은 영문 대소문자와 숫자가 문자열 맨 끝에 위치하는지 확인합니다.

  • check_string이라는 이름의 함수를 정의하고, 검사할 문자열을 매개변수로 전달받습니다.

  • 함수 내부에서는 re.search() 메서드를 호출하여 문자열이 지정된 패턴(영숫자로 끝남)과 일치하는지 확인합니다.

  • 패턴이 일치하면 '영숫자로 끝난다'는 메시지를, 일치하지 않으면 '영숫자로 끝나지 않는다'는 메시지를 출력합니다.

  • 함수 외부에서 두 개의 테스트 문자열("Python@", "Python1245")을 정의하고 콘솔에 출력한 뒤, 각각 함수에 전달하여 호출합니다.

  • 첫 번째 문자열은 특수문자 @로 끝나므로 조건에 맞지 않고, 두 번째 문자열은 숫자로 끝나므로 조건에 부합한다는 결과가 콘솔에 표시됩니다.

마무리

이처럼 정규 표현식의 $ 앵커와 문자 클래스를 조합하면 문자열의 끝부분을 간단하고 명확하게 검증할 수 있습니다. 입력값 유효성 검사나 데이터 클렌징 작업에서 유용하게 활용할 수 있는 패턴이니 참고하시기 바랍니다.