这个正则表达式有什么问题?

Bry*_*ock 0 python django unit-testing

我正在尝试创建一个测试来验证链接是否在网页上呈现.

我不明白我在这个断言测试中做错了什么:

self.assertRegexpMatches( response.content, r'<a href="/questions/?sort=elite" class="on" title="Staff Selected Questions">elite</a>')
Run Code Online (Sandbox Code Playgroud)

我知道标记在页面上,因为我从response.content复制了它

我试图在Python shell中使用正则表达式:

In [27]: links = """<div class="tabsA"><a href="/questions/?sort=active" title="Most recently updated questions">active</a><a href="/questions/?sort=newest" title="most recently asked questions">newest</a><a href="/questions/?sort=hottest" title="most active questions in the last 24 hours">hottest</a><a href="/questions/?sort=mostvoted" title="most voted questions">most voted</a><a href="/questions/?sort=elite" class="on" title="Staff Selected Questions">elite</a></div>"""

In [28]: re.search(r'<a href="/questions/?sort=elite" class="on" title="Staff Selected Questions">elite</a>', links)
Run Code Online (Sandbox Code Playgroud)

出于某种原因,它也没有奏效.

如何创建正则表达式以使其有效?

Dan*_*man 8

你为什么在这里使用正则表达式?绝对没有理由.你只是匹配一个简单的字符串.使用:

self.assertContains(response, '<a href="/questions/?sort=elite" class="on" title="Staff Selected Questions">elite</a>')
Run Code Online (Sandbox Code Playgroud)