回答
快速回答:匹配由单个字符,其中该字符是字母数字(字母,数字)的下划线(_
)或星号(*
)的字符串。
详细说明:
- 的 “
\w
” 表示 “任何文字字符”,这通常意味着字母数字(字母,数字,而不管壳体的)加下划线(_) - 的 “
^
”,“锚点“指向字符串的开头,而”$
“”锚点“指向字符串的末尾,这意味着在这种情况下,匹配必须从字符串的开始处开始并结束于字符串的结尾。 []
表示一个字符类,意思是“匹配字符类中包含的任何字符”。
还值得一提的是,正常报价和转义规则的字符串,使其很难进入正则表达式(所有的反斜线将需要额外的反斜杠进行转义),所以在Python中有一个特殊的符号,其有其自己的特殊引用规则,允许对所有反斜杠进行适当的解释,这就是开始时的“r
”。
注:通常星号(*
)表示“0以上的先前事”,但在上面的例子中,它确实不具有意义,因为星号是内的字符类的 ,所以它失去了“特殊性”。
这是一个坏概念,但为了未来的读者,\ w是类的python等价物:[^ a-zA-Z0-9_]。正如你可以在这里看到的,至少对于Python 2.7.x到3.4.y来说,'*'不会涉及到这一点。如果正则表达式类[\ w *]会引入*作为文字caracter的无用重复(即没有特殊含义,因为它包含在表示类的方括号内)。 – Cbhihe 2016-02-02 16:06:36
在Python 3中,'\ w'的定义默认情况下考虑了Unicode字符的定义,所以它比'[^ a-zA-Z0-9_]'更宽。有关血淋淋的细节,请参阅https://docs.python.org/3/library/re.html#module-re。 – Bevan 2017-06-19 01:35:03
从此行开始,"Any number of word characters (letter, number, underscore)"直到行尾。
如果您想要返回匹配的文本,我不确定它为什么在方括号中,因为圆括号(例如“(”和“)”)是正确的。
\ w指的是0个或更多的字母数字字符和下划线。在你的情况下,*也是字符类中,所以[\ W *]将匹配所有的[A-ZA-Z0-9_ *](*为字面解释)
见http://www.regular-expressions.info/reference.html
要报价:
\ d,\ w和\ s ---速记字符类匹配数字,单词字符和空格。可以在字符类内部和外部使用。
编辑响应修正评论
不在上述正则表达式中。由于'*'在字符类中,因此它成为该类的成员。 – 2009-10-16 08:28:45
\ W等效于[A-ZA-Z0-9_]我不明白它后*或[]周围,因为\ w已经是一个类,*在类定义中是没有意义的。
正如exhuma所说,\ w是任何字级字符(字母数字为Jonathan澄清)。
然而,因为它是在方括号它会匹配:
- 单个字母数字字符或
- 星号(*)
所以整个正则表达式匹配:
- 行首(^)
- 后跟一个 单个字母数字字符或 星号
- 后跟一个 线($)
的末尾,以便下面将匹配:
blah
z <- matches this line
blah
或
blah
* <- matches this line
blah
如上所述\ w表示任何单词。所以你可以在下面
view.aspx?url=[\w]
,这意味着你可以拥有任何单词作为价值的环境中使用这种“URL =”参数
\ w只匹配单个字符,而不是整个单词。您需要像+,*或{n,m}这样的量词来实际匹配整个单词(即多个单个字符) – 2009-10-16 08:40:07
- 1. 是什么正则表达式的意思是: '/ &\w; /'
- 2. 正则表达式[\ w-]是什么意思?
- 3. 正则表达式\ |(?= \ w =>)是什么意思?
- 4. 在正则表达式中,^和$是什么意思?
- 5. '|'是什么意思?在这个正则表达式?
- 6. 是什么正则表达式的意思是,为什么
- 7. 这是什么意思正则表达式中整理/ I
- 8. 正则表达式中的正斜杠是什么意思
- 9. JavaScript正则表达式中的正斜杠是什么意思?
- 10. 在Python正则表达式中,“?:”是什么意思?
- 11. 在正则表达式中,'懒'和'贪'是什么意思?
- 12. 在java中的正则表达式_是什么意思
- 13. 在正则表达式中,?= ^是什么意思?
- 14. 在正则表达式模式之前,'r'是什么意思?
- 15. 这些正则表达式是什么意思?
- 16. 这个正则表达式(\ /?)是什么意思?
- 17. 这个正则表达式是什么意思?
- 18. .NET正则表达式中的(?i)是什么意思?
- 19. 正则表达式中的`?i`和`?-i`是什么意思?
- 20. 正则表达式中的IJ - 这是什么意思?
- 21. 正则表达式中的^是什么意思?
- 22. php中的这个正则表达式是什么意思?
- 23. 正则表达式preg php中的[^>]是什么意思?
- 24. 正则表达式(perl)中的[\ 0-9]是什么意思?
- 25. 正则表达式中的(?m:\ s *)是什么意思?
- 26. 正则表达式中的$ 1,$ 2等是什么意思?
- 27. 是什么意思$ 1Z在正则表达式
- 28. 返回-1是什么意思在正则表达式搜索
- 29. 这是什么意思这个'(?U)'在nginx正则表达式
- 30. 正则表达式匹配模式“\\ [。* \\]”是什么意思?
你的意思'R“^ \ W * $”' ? – 2009-10-16 08:30:17
跟随劳伦斯的评论,这没有引号没有任何特别的意义。 – foosion 2009-10-16 11:03:12
嘿@ S.Lott:你怎么知道这是作业? – 2009-10-16 11:04:53