ruby 运算符 "=~"

标签 ruby operators

<分区>

在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/

相关文章:

ruby - rvm 一直忽略我的 .rvmrc

C++:(a<<b) 是什么意思?

c++ - 类中的运算符如何工作?

delphi - 为什么将 varEmpty 与零评估的 varInteger 进行比较时 "="运算符结果为 True?

mysql - 将数据从远程 MySQL 服务器迁移到 Rails App

ruby-on-rails - Rails - 放置非 Active Record 模型的位置(目录)

ruby - 在 ruby​​ 项目构建期间尝试安装 pg gem 失败

ruby-on-rails - Ruby on Rails - 链接两个模型

c - 是否所有的C编译器都严格遵循运算符优先顺序

C++ - 使用 >> 运算符读取文件直到到达行尾