小编Kin*_*ber的帖子

正则表达式搜索预期的字符串或类似字节的对象

import os\nimport codecs\nimport argparse\nos.chdir(\'C:\\\\Users\\\\Kingsaber\\\\Desktop\\\\python_excercises\')\na = codecs.open(\'BeforeKichiku.txt\', encoding=\'utf-8\')\np = a.read()\nprint(p)\n\nimport re\n\n#ch = u"I am from \xe7\xbe\x8e\xe5\x9b\xbd\xe3\x80\x82We should be friends. \xe6\x9c\x8b\xe5\x8f\x8b."\n\nb = re.findall(u"[\\u4e00-\\u9fff]+", a)\nfor x in b:\n    print(x)\n
Run Code Online (Sandbox Code Playgroud)\n\n

预期结果:打印出变量“a”中的所有内容,并找到 u4e00-\\u9fff 之间的所有 unicode 字符并在下面打印出来。

\n\n

发生了什么:文档成功打印出来,但正则表达式搜索出现以下错误。如果我切换正则表达式来搜索字符串“ch”,一切都会按预期工作。由于某种原因,它不适用于 Unicode 文档。

\n\n

错误:

\n\n
Traceback (most recent call last):\n  File "C:/Users/Kingsaber/Desktop/destruga3.py", line 15, in <module>\n    b = re.findall(u"[\\u4e00-\\u9fff]+", a)\n  File "C:\\Users\\Kingsaber\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\re.py", line 213, in findall\n    return _compile(pattern, flags).findall(string)\nTypeError: expected string or bytes-like object\n
Run Code Online (Sandbox Code Playgroud)\n

python regex python-3.5

-2
推荐指数
1
解决办法
2万
查看次数

标签 统计

python ×1

python-3.5 ×1

regex ×1