"Rubymonk Is Pretty Brilliant".match(/ ./, 9)
如何根据此正则表达式计算答案“P”?
match
方法
答案 0 :(得分:5)
您从Rubymonk评分员发布的标准简洁地回答:
传递两个参数,一个正则表达式和位置 字符串开始搜索
但是让我们更详细地研究一下。 match
正在传递两个参数:
/ ./
,正则表达式9
,字符串正则表达式告诉我们,我们正在查找空格(),后跟任何字符(
.
)。
起始位置告诉我们从位置9(I)开始。因此,我们不是将该正则表达式应用于" Rubymonk非常辉煌",而是将其应用于"非常辉煌"。
在字符串" Is Pretty Brilliant",我们在哪里遇到一个空格,然后是另一个角色? " [P] retty Brilliant",对吗?因此,match
会找到P
的结果(' s空格-P,匹配正则表达式,而不仅仅是P.)
要更清楚地看到这一点并进一步尝试使用正则表达式,您可以使用Rubular在irb会话或浏览器中进行尝试。
答案 1 :(得分:0)
(只需google for RegEx + ruby,你会找到正则表达式语法的解释)
/ ANYTHING-HERE /
将在文中寻找任何内容。
在你的例子中它是(/。/,9):
/ SPACE DOT /
所以它会寻找空格,然后是单个字符(Dot - >单个字符)。
9将是"我"从字符串。这不是空间,所以它会在2个字符上正确。会找到空间,然后会找到单个字符" P"。
结果就是这样。