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

파이썬 정규식으로 문자열이 특정 부분 문자열로 시작하는지 확인하는 방법


정규 표현식(Regular Expression)을 활용하면 문자열이 특정 부분 문자열(substring)로 시작하는지 손쉽게 확인할 수 있습니다. 이를 위해 문자열을 검사하는 함수를 정의하고, re 모듈의 search 메서드를 사용해 문자열이 지정된 부분 문자열로 시작하는지 확인합니다.

예제

아래는 실제 구현 예시입니다.

import re

def check_string(my_string, sub_string) :

   if (sub_string in my_string):

      concat_string = "^" + sub_string
      result = re.search(concat_string, my_string)

      if result :
         print("The string starts with the given substring")
      else :
         print("The string doesnot start with the given substring")

   else :
      print("It is not a substring")

my_string = "Python coding is fun to learn"
sub_string = "Python"

print("The string is :")
print(my_string)

print("The sub-string is :")
print(sub_string)

check_string(my_string, sub_string)

출력 결과

The string is :
Python coding is fun to learn
The sub-string is :
Python
The string starts with the given substring

코드 설명

  • 필요한 패키지인 re 모듈을 임포트합니다.

  • 문자열과 부분 문자열을 매개변수로 받는 check_string 함수를 정의합니다.

  • 먼저 부분 문자열이 문자열 내부에 존재하는지 확인한 뒤, 존재한다면 '^' 기호와 부분 문자열을 연결합니다.

  • 연결된 정규식 패턴은 새로운 변수에 할당됩니다.

  • search 메서드를 사용해 새 변수에 담긴 패턴으로 문자열을 검사합니다.

  • 검사 결과는 별도의 변수에 저장됩니다.

  • 결과가 참(True)이면 해당 메시지가 콘솔에 출력되고, 그렇지 않으면 다른 메시지가 출력됩니다.

  • 함수 외부에서 문자열을 정의한 후 콘솔에 출력합니다.

  • 부분 문자열을 정의한 후 콘솔에 출력합니다.

  • 문자열과 부분 문자열을 인자로 전달하여 함수를 호출합니다.

  • 최종 결과가 콘솔에 표시됩니다.

참고: '^' 앵커의 역할

정규식에서 '^'는 문자열의 시작 위치를 나타내는 앵커(anchor)입니다. 따라서 '^Python'이라는 패턴은 "Python"으로 시작하는 문자열만 매칭합니다. 만약 문자열 중간에 포함되어 있는지만 확인하고 싶다면 '^'를 붙이지 않고 re.search를 사용하면 됩니다. 또한 파이썬에서는 str.startswith() 메서드를 사용해 정규식 없이 동일한 작업을 수행할 수도 있습니다.