我有一些Python3代码来查找英文文本中可能带有嵌入式#,-,撇号或某些国际字符的单词:
>>> import re
>>> exp
"((?:[\\w#éüöêåo]+[-’'])*[\\w#éüöêåo]+)"
>>> line
'William Shakespea#e was an Englis# poet, playwright a#d'
>>> re.findall( exp, line )
['William', 'Shakespea#e', 'was', 'an', 'Englis#', 'poet', 'playwright','a#d']
如图所示,它可以在Python解释器中正常工作,但是当在Jupyter笔记本中运行相同的代码时,返回None
。怎么来的?也许与字符编码有关?
答案 0 :(得分:0)
该问题与re
无关。在周围的代码中,我说的是:
text = []
...
line = reader.readline()
text = text.extend( re.findall( regexp, line )
我没有意识到String.extend具有副作用,返回None
。 RTFM。