ruby运算符“=〜”
在ruby中,我读了一些操作符,但是我找不到=~
。 什么是=~
,或者是什么意思? 我看到的程序有
regexs = (/\d+/) a = somestring if a =~ regexs
我认为这是比较如果somestring
等于数字,但是,有没有其他的用法,以及=~
运算符的正确定义是什么?
=~
操作符将正则expression式与string进行匹配,如果find则返回匹配的偏移量,否则返回nil。
ruby-1.9.2-p136 :003 > /mi/ =~ "hi mike" => 3 ruby-1.9.2-p136 :004 > "hi mike" =~ /mi/ => 3 ruby-1.9.2-p136 :005 > "mike" =~ /ruby/ => nil
您可以将string/正则expression式放在操作符的任一侧,如上所示。
该运算符将string与正则expression式匹配
>> s = 'how now brown cow' >> s =~ /cow/ => 14 >> s =~ /now/ => 4 >> s =~ /cat/ => nil
如果String匹配expression式,则运算符返回偏移量,如果不匹配,则返回nil。 这比这稍微复杂一点: 请参阅这里的文档; 这是String类中的一个方法。
=〜是匹配正则expression式的运算符,它将返回匹配开始的索引(如果不匹配,则返回nil)。
在这里看到的文件。