Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 문자열에 최소한 하나의 문자와 하나의 숫자가 있는지 확인하는 방법은 무엇입니까?


파이썬에서 이것을 확인하는 가장 쉬운 방법은 정규식을 사용하는 것입니다. 주어진 문자열에 적어도 하나의 문자와 하나의 숫자가 있는지 확인하기 위해 re.match(regex, string)를 사용합니다.

import re
print(bool(re.match('^(?=.*[0-9]$)(?=.*[a-zA-Z])', 'hasAlphanum123')))
print(bool(re.match('^(?=.*[0-9])(?=.*[a-zA-Z]$)', 'some string')))

출력

True
False

?=구문은 정규식에서 미리보기를 호출하는 데 사용됩니다. 미리보기는 실제로 주어진 문자열에서 일치하는 항목을 찾기 위해 현재 위치에서 문자열을 미리 봅니다. 여기 에서 자세한 내용을 읽을 수 있습니다.

간단한 for 루프와 2개의 플래그를 사용하여 하나의 문자와 하나의 숫자를 확인할 수도 있습니다.

def validateString(s):
    letter_flag = False
    number_flag = False
    for i in s:
        if i.isalpha():
            letter_flag = True
        if i.isdigit():
            number_flag = True
    return letter_flag and number_flag
print validateString('hasAlphanum23')
print validateString('some string')

출력

이것은 우리에게 출력을 제공합니다 -

True
False