我查了文档,找不到[\w-]
的意思。谁能告诉我 [\w-]
在 Ruby 中是什么意思?
最佳答案
方括号 []
表示一个字符类。字符类将匹配其中的任何内容。
\w
是一个叫做“单词字符”的特殊类。它是 [a-zA-Z0-9_]
的简写,因此它将匹配:
a-z
(全部为小写字母)A-Z
(全部大写字母)0-9
(所有数字)_
(下划线)
你问的类[\w-]
是由\w
和-
组成的类。所以它将匹配上面的列表,加上连字符 (-
)。
正如所写,[\w-]
,这个正则表达式将匹配单个字符,只要它在上面的列表中,或者是破折号。
如果您要在末尾添加量词,例如[\w-]*
或 [\w-]+
,那么它将匹配以下任何字符串:
fooBar9
foo-Bar9
foo-Bar-9
-foo-Bar---9abc__34ab12d
它会部分匹配这些:
foo,Bar9 # match 'foo' - the ',' stops the match
-foo-Bar---9*bc__34ab12d # match '-foo-Bar---9', the '*' stops the match
关于ruby - 正则表达式 [\w-] 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353810/