saw*_*awa 7 ruby regex literals
在正则表达式中将空格置于范围量词中似乎在语法上有效:
/.{1, 2}/ # => /.{1, 2}/
Run Code Online (Sandbox Code Playgroud)
然而,与没有这样的空间相比,这样的空间似乎改变了行为:
"a" =~ /.{1,2}/ # => 0
"a" =~ /.{1, 2}/ # => nil
Run Code Online (Sandbox Code Playgroud)
具有空间的正则表达式的含义是什么样的/.{1, 2}/
?
/.{1, 2}/
Run Code Online (Sandbox Code Playgroud)
比赛"a{1, 2}"
.虽然它在语法上是有效的,但{1, 2}
止损是限制量词.
一旦space
出现在逗号和max
数值之间,则{1, 2}
表现为literal
字符串匹配.