Ruby 运算符“ = ~”

在 Ruby 中,我读取了一些操作符,但找不到 =~=~是什么意思?我看到的程序

regexs = (/\d+/)
a = somestring
if a =~ regexs

我认为它是比较如果 somestring等于数字,但是,有任何其他用法,什么是正确的定义 =~操作符?

109351 次浏览

=~操作符将正则表达式与字符串进行匹配,如果找到匹配,则返回与字符串的偏移量,否则返回 nil。

/mi/ =~ "hi mike" # => 3
"hi mike" =~ /mi/ # => 3


"mike" =~ /ruby/ # => nil

您可以将字符串/正则表达式放在操作符的两边,如上所示。

= ~ 是匹配正则表达式的操作符,它将返回匹配开始的索引(如果没有匹配则返回 nil)。

有关文档,请参见 给你

此运算符将字符串与正则表达式匹配。

s = 'how now brown cow'


s =~ /cow/ # => 14
s =~ /now/ # => 4
s =~ /cat/ # => nil

如果 String 与表达式匹配,则操作符返回偏移量,如果不匹配,则返回 nil。比这稍微复杂一点: 请参阅这里的文档; 它是 String 类中的一个方法。