我遇到正则表达式以下令牌:[\s\S]*?
[ s S] *之间的区别是什么?和。*?
如果我理解正确此,角色职业的意思是“匹配空格字符或一个非空白字符”。因此,这是否会与.*?
不一样:通常.
与换行符不匹配。然而,这个正则表达式是用Ruby编写的,并通过了m
modifier,这意味着.
确实符合换行符。
是否有任何其他理由使用[\s\S]*?
代替.*?
万一有帮助,正则表达式,我在看sprockets library内出现在HEADER_PATTERN不断上线97的充分体现是:
/
\A \s* (
(\/\* ([\s\S]*?) \*\/) |
(\#\#\# ([\s\S]*?) \#\#\#) |
(\/\/ ([^\n]*) \n?)+ |
(\# ([^\n]*) \n?)+
)
/mx
我分享你的猜测。也许,如果您给我们整个regxp或使用它的上下文,它可能会有所帮助。 – sawa 2011-05-29 16:23:50
@sawa这是一个好主意,谢谢。我编辑了我的问题。 – 2011-05-29 16:27:50
感谢您添加正则表达式。现在,它看起来更奇怪了,因为它使用'm',并且正在使用'[^ \ n]'来处理它。 – sawa 2011-05-29 16:41:07