【发布时间】:2018-04-24 02:04:22
【问题描述】:
我试图了解此正则表达式捕获子句中- 的用途
(?P<slug>[\w-]+)
这是我在搜索破折号时想到的
破折号 (-) 可用于指定范围。所以破折号是 元字符,但仅限于字符类中。如果你想使用 字符类中的文字破折号,您应该使用 反斜杠,除非破折号是第一个或最后一个字符 字符类。所以,正则表达式 [a-z] 等于 [az-] 和 [-az], 它们将匹配这三个字符中的任何一个。
我的问题是 \w 之后的- 是什么
【问题讨论】:
-
“所以,正则表达式 [a-z] 等于 [az-] 和 [-az],它们将匹配这三个字符中的任何一个。” - 听起来不对。
[a-z]将匹配 range 小写 a 到字符直到小写 z。而其他两个在功能上是等效的,它们只会匹配三个字符之一,z、a和-。将鼠标悬停在regexr.com/3oe5o 上以进行澄清,并在 regexr.com 中使用正则表达式
标签: regex