我试图在这个正则表达式捕获子句
中理解-
的目的
(?P<slug>[\w-]+)
这是我在搜索短划线时所提出的
短划线( - )可用于指定范围。所以破折号是一个 元字符,但只在一个字符类中。如果你想使用一个 字符类中的文字破折号,你应该用它来转义它 反斜杠,除非短划线是第一个或最后一个字符 人物类。因此,正则表达式[a-z]等于[az-]和[-az], 他们会匹配这三个角色中的任何一个。
我的问题是\ {
之后的-
是什么
答案 0 :(得分:1)
你正在看我的前CS教授所说的兔子(戴帽子):
(?P<slug>[\w-]+)
它是兔子的原因是因为通常你的研究是正确的,破折号被用作一系列角色的一部分。但在这种情况下,破折号是一个文字破折号,因为它出现在角色类的末尾。
所以这里[\w-]+
表示匹配一个或多个单词字符或文字破折号。
如果要在字符类中包含文字短划线,更安全的方法是将其转义:
[\w\-]+
然后,短划线可以放在班级的任何地方。