【发布时间】:2016-09-26 06:16:59
【问题描述】:
我目前正在分析一些旧考试以确定问题的频率(因为许多问题会在今年的考试中重新出现)。我正在使用 pyperclip 获取 re.findall 的输入。
这是我正在使用的正则表达式:pattern = re.compile(ur'\d.[a-zA-Z .,\']+\?', re.UNICODE),这是一个旧考试的示例问题(我试图找到的模式):9. In Wycherley’s The Country Wife, what does Mr. Pinchwife threaten to inscribe on Mrs. Pinchwife’s face with his penknife? 撇号不是我在键盘上可以找到的,并尝试执行代码会导致此错误:
File "examAnalyzer.py", line 7
pattern = re.compile(ur'\d.[a-zA-Z .,\Æ]+\?', re.UNICODE)
SyntaxError: (unicode error) 'utf8' codec can't decode byte 0x92 in position 0: invalid start byte
我使用的是 Python 2.7.11 和 Anaconda 4.0,Python 文件是使用 VIM 编辑的。
【问题讨论】:
-
你不能用
\u2019吗?顺便说一句,当您需要匹配文字点时,应该转义.。试试ur'\d\.[a-zA-Z .,\'\u2019]+\?' -
你看一下,它完美无瑕!
标签: python regex python-2.7 python-unicode