我想使用此正则表达式来匹配字符串中的任何块注释(c样式)。 但为什么下面没有?
rblockcmt = Regexp.new "/\\*[.\s]*?\\*/" # match block comment
p rblockcmt=~"/* 22/Nov - add fee update */"
==> nil
答案 0 :(得分:1)
看来你打算[.\s]*?
懒散地匹配任何字符或空格,零次或多次。首先,空格是字符,因此您不需要\s
。这简化了您对[.]*?
的表达。其次,如果您的意图是匹配任何角色,则不需要角色类,只需编写.
即可。第三,,最重要的是,字符类中的句点只是字符"."
。
您需要.*?
(或[^*]*
)。