2012-07-09 3 views
1

나는이 두 가지를 구별하고 싶은확인 유니 코드는

u'0d7a6b6b37682bab6d8eda97cda4bad7'

u'Brauers, A.'

같은 유니 코드 문자열을 가지고있다. regex\p{Alphabet}과 함께 사용했지만 두 번째 예가 ,.이므로 두 번째 예제에서는 작동하지 않습니다. 아무도 이것으로 나를 도울 수 있습니까?

+2

어떻게 구별? –

+1

돌리세요. 대신 숫자를 확인 하시겠습니까? –

+0

두 문자열의 특징을보다 자세하게 설명해야합니다. 처음으로 항상 36 자입니까? 항상 모든 헥스? –

답변

2

간단한 일이 아닌 16 진수를 확인할 수 있습니다 :

if re.match(r'[^0-9a-f]', my_string): 
    # This is a u'Brauers, A.' kind of string 
else: 
    # This is a u'0d7a6b6b37682bab6d8eda97cda4bad7' kind of string 
4

16 진수를 확인 하시겠습니까?

>>> re.match(r'^[0-9a-f]*$', u'0d7a6b6b37682bab6d8eda97cda4bad7') != None 
True 
>>> re.match(r'^[0-9a-f]*$', u'Brauers, A.') != None 
False