我遇到了这个:/sera/ === coursera
。 /sera/
是什么意思?请告诉我。我不明白上述表达的含义。
答案 0 :(得分:3)
这是一个正则表达式。更正式的版本是:
coursera.match(/sera/)
或者:
/sera/.match(coursera)
这两者在功能上都相似。字符串匹配正则表达式,或者可以测试正则表达式是否匹配字符串。
原始代码的详细解释是:变量sera
中是否可以找到coursera
字符?
如果你这样做:
"coursera".match(/sera/)
# => #<MatchData "sera">
您获得MatchData结果,这意味着它匹配。对于更复杂的表达式,您可以使用任意模式捕获字符串的一部分,依此类推。这里的一般规则是Ruby中的正则表达式看起来像/.../
或模糊地表达%r[...]
。
您可能还会看到使用的=~
运算符,这是Ruby从Perl继承的东西。它还意味着match
。