Python代码获取随机生成的数学计算的内容

问题描述

我有一个生成随机方程式的webapp,我正在尝试使用Python自动解决这些问题:

Can you solve the level 1?<br/><h3><div id='calc'>0 * 8</div></h3><br/>
<form action="play.PHP" method="post">
 <input type="text" name="res" />
 <input type="submit" value="OK">
</form>
</div>
</body>

我写了一个脚本来获取每次生成的方程式:

number =  re.findall('<div id='calc'> (.*)</div></h3><br/>',content)[0]

但是由于某些原因它会不断抛出错误

    number =  re.findall('<div id='calc'> (.*)</div></h3><br/>',content)[0]
                                      ^
SyntaxError: invalid Syntax

有人来过吗?

解决方法

number =  re.findall(r"<div id='calc'> (.*)</div></h3><br/>",content)[0]

这应该工作,您正在使用单引号'来定义字符串,并且还在字符串中使用了未转义的单引号,这导致字符串被解释为<div id=

在python中,r"someString"代表原始字符串,更可取的是在使用正则表达式搜索时使用它们。您可以阅读有关原始字符串here

的更多信息