详解Python里使用正则表达式的ASCII模式
ASCII
ASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(\x80以下),这也是MBCS得以实现的基础。
目前,基本上都使用python3来开发了,但是有时为了兼容旧的python2的代码,在正则表达式里主要是字符串的表示方式不同了,在python3里是使用Unicode来表示字符串和正则表达式,而在python2里是使用ASCII来表示的,所以在python3里怎么样设置才兼容旧的方式呢?其实可以通过ASCII的标志来解决,如下面的例子:
#python 3.6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # import re text = u'Français złoty Österreich' pattern = r'\w+' ascii_pattern = re.compile(pattern, re.ASCII) unicode_pattern = re.compile(pattern) print('Text :', text) print('Pattern :', pattern) print('ASCII :', list(ascii_pattern.findall(text))) print('Unicode :', list(unicode_pattern.findall(text)))
结果输出如下:
Text : Français złoty Österreich Pattern : \w+ ASCII : ['Fran', 'ais', 'z', 'oty', 'sterreich'] Unicode : ['Français', 'złoty', 'Österreich']
总结
以上所述是小编给大家介绍的详解Python里使用正则表达式的ASCII模式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!