有特殊字符的Unicode检查
问题描述:
我有Unicode字符串像有特殊字符的Unicode检查
u'0d7a6b6b37682bab6d8eda97cda4bad7'
和
u'Brauers, A.'
我想其中的两个进行区分。我尝试使用regex
与\p{Alphabet}
,但它不适用于第二个示例,因为第二个示例包含,
和.
。谁能帮我这个?
答
最简单的事情可能是检查非十六进制数字:
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
答
只需检查十六进制数字?
>>> re.match(r'^[0-9a-f]*$', u'0d7a6b6b37682bab6d8eda97cda4bad7') != None
True
>>> re.match(r'^[0-9a-f]*$', u'Brauers, A.') != None
False
分清什么? – 2012-07-09 12:15:29
转过身去;检查数字呢? – 2012-07-09 12:15:53
您将不得不更详细地描述两个字符串的特征。第一个总是36个字符?总是所有十六进制? – 2012-07-09 12:23:47