目前,基本上都使用python3来开发了,但是有时为了兼容旧的python2的代码,在正则表达式里主要是字符串的表示方式不同了,在python3里是使用Unicode来表示字符串和正则表达式,而在python2里是使用ASCII来表示的,所以在python3里怎么样设置才兼容旧的方式呢?其实可以通过ASCII的标志来解决,如下面的例子:
结果输出如下:
Text : Français złoty Österreich
Pattern : \w+
ASCII : ['Fran', 'ais', 'z', 'oty', 'sterreich']
深入浅出Numpy
五子棋游戏开发
http://edu.csdn.net/course/detail/5487
#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']