我正在寻找一个正则表达式来匹配带有连字符和/或撇号的单词.到目前为止,我有:
(\w+([-'])(\w+)?[']?(\w+))
Run Code Online (Sandbox Code Playgroud)
并且大部分时间都有效,但如果有撇号和连字符,如"qu'est-ce",它就不匹配.我可以添加更多的选项,但也许还有另一种更有效的方法吗?
我想要匹配的一些例子:Mary's,High-school,'tis,Chambers',Qu'est-ce.
给出 Django 进行查询的示例:
\n\nclass Author(models.Model):\n name = models.CharField(max_length=50)\n ...\n def __str__(self):\n return self.name\n\nclass Entry(models.Model):\n ...\n authors = models.ManyToManyField(Author)\nRun Code Online (Sandbox Code Playgroud)\n\n我想要一个作者 DetailView,其中包含该作者的条目列表。到目前为止我所拥有的:
\n\nclass AuthorDetailView(DetailView):\n model = Author\n\n def get_context_data(self, **kwargs):\n context = super(AuthorDetailView, self).get_context_data(**kwargs)\n context['entries'] = Entry.objects.filter(\n authors__name=self.object.name)\n return context\nRun Code Online (Sandbox Code Playgroud)\n\n在我的模板中:
\n\n{% for entry in entries %}\n \xe2\x80\xa6\n{% endfor %}\nRun Code Online (Sandbox Code Playgroud)\n\n我也不想按名称过滤,而是按特定作者过滤,因为名称可能不唯一。
\n