<分区>
在ruby中,我看了一些运算符,但是没找到=~
。 =~
是做什么用的,或者它是什么意思?我看到的程序有
regexs = (/\d+/)
a = somestring
if a =~ regexs
我认为它是在比较 somestring
是否等于数字,但是还有其他用法吗?=~
运算符的正确定义是什么?
<分区>
在ruby中,我看了一些运算符,但是没找到=~
。 =~
是做什么用的,或者它是什么意思?我看到的程序有
regexs = (/\d+/)
a = somestring
if a =~ regexs
我认为它是在比较 somestring
是否等于数字,但是还有其他用法吗?=~
运算符的正确定义是什么?
最佳答案
=~
运算符将正则表达式与字符串进行匹配,如果找到则返回匹配项相对于字符串的偏移量,否则返回 nil。
/mi/ =~ "hi mike" # => 3
"hi mike" =~ /mi/ # => 3
"mike" =~ /ruby/ # => nil
如上所示,您可以将字符串/正则表达式放在运算符的任一侧。
关于 ruby 运算符 "=~",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5781362/