在Python中。 R 1 [\ W *] $
这意味着什么?
答案 0 :(得分:39)
快速回答:匹配由单个字符组成的字符串,其中该字符是字母数字(字母,数字),下划线(_
)或星号(*
)。
<强>详细信息:强>
\w
”表示“任何单词字符”,通常表示字母数字(字母,数字,不论情况)加下划线(_)^
”“锚定”到字符串的开头,“$
”“锚点”到字符串的末尾,这意味着,在这种情况下,匹配必须从字符串的开头开始,然后在字符串的结尾处结束。[]
表示字符类,表示“匹配字符类中包含的任何字符”。值得一提的是,字符串的正常引用和转义规则使得输入正则表达式非常困难(所有反斜杠都需要使用额外的反斜杠进行转义),所以在Python中有一个特殊的符号,它有自己的特殊的引用规则,允许正确解释所有反斜杠,这就是开头的“r
”。
注意:通常星号(*
)表示“之前的0或更多”,但在上面的示例中,它不具有意思是,因为星号是在里面的字符类,所以它失去了它的“特殊性”。
答案 1 :(得分:2)
正如exhuma所说,\ w是任何字级字符(Jonathan澄清的字母数字)。
但是因为它在方括号中会匹配:
所以整个正则表达式匹配:
所以以下内容将匹配:
blah
z <- matches this line
blah
或
blah
* <- matches this line
blah
答案 2 :(得分:0)
从这一行开始,"Any number of word characters (letter, number, underscore)"直到行尾。
我不确定为什么它在方括号中,因为如果你想要返回匹配的文本,圆括号(例如“(”和“)”)是正确的。
答案 3 :(得分:0)
\ w表示0个或更多字母数字字符和下划线。在你的情况下*也在字符类中,所以[\ w *]将匹配所有[a-zA-Z0-9_ *](*按字面解释)
请参阅http://www.regular-expressions.info/reference.html
引用:
\ d,\ w和\ s ---匹配数字,单词字符和空格的速记字符类。可以在字符类的内部和外部使用。
修改以更正评论
答案 4 :(得分:0)
如上所述\ w表示任何字眼。所以你可以在下面的上下文中使用它
view.aspx?url=[\w]
表示您可以将任何单词作为“url =”参数
的值答案 5 :(得分:-1)
\ w相当于[a-zA-Z0-9_]我不明白它之后的*或它周围的[],因为\ w已经是一个类而且类定义中的*没有意义。