红宝石/ anystring /是什么意思?

时间:2017-03-13 20:28:23

标签: ruby

我遇到了这个:/sera/ === coursera/sera/是什么意思?请告诉我。我不明白上述表达的含义。

1 个答案:

答案 0 :(得分:3)

这是一个正则表达式。更正式的版本是:

coursera.match(/sera/)

或者:

/sera/.match(coursera)

这两者在功能上都相似。字符串匹配正则表达式,或者可以测试正则表达式是否匹配字符串。

原始代码的详细解释是:变量sera中是否可以找到coursera字符?

如果你这样做:

"coursera".match(/sera/)
# => #<MatchData "sera">

您获得MatchData结果,这意味着它匹配。对于更复杂的表达式,您可以使用任意模式捕获字符串的一部分,依此类推。这里的一般规则是Ruby中的正则表达式看起来像/.../或模糊地表达%r[...]

您可能还会看到使用的=~运算符,这是Ruby从Perl继承的东西。它还意味着match