我在屏幕截图上看到了这一点,无法弄清楚它是什么。参考表只需将其作为一般模式匹配运算符与其他运算符一起存入。Ruby中的“=〜”运算符是什么?
回答
它将字符串与正则表达式匹配。
'hello' =~ /^h/ # => 0
如果没有匹配,它将返回nil
。如果您通过了无效参数(即左侧或右侧不正确),它将会抛出TypeError
或返回false
。
那么,参考是正确的,它是“匹配这个正则表达式”的运算符。
if var =~ /myregex/ then something end
我相信这是一个模式匹配运算符与正则表达式一起使用。
正则表达式字符串匹配。这里的经营者的详细列表:http://phrogz.net/programmingruby/tut_expressions.html#table_7.1
从ruby-doc:
str =~ obj => fixnum or nil
匹配 - 如果obj是一个正则表达式,使用它作为一个模式来匹配海峡,并返回偏移位置匹配开始,如果没有匹配,则为零。否则,调用obj。=〜,将str作为参数传递。在Object中默认=〜返回false。
"cat o' 9 tails" =~ /\d/ #=> 7
"cat o' 9 tails" =~ 9 #=> false
”返回比赛开始的位置“,对我来说是重要的一点:)已经淘到Google的答案..在这里找到了谢谢! – 2012-05-09 19:57:46
为什么第二个示例返回false?是因为'9'不是一个字符串吗? – 2018-02-20 16:38:28
正则表达式匹配字符串:
把真,如果URL =〜/google.com/
你可以阅读 '=〜' 作为 '是匹配'。
正如其他答案已经陈述,=~
是正则表达式与字符串匹配运算符。
注:=~
运算符是不可交换
请考虑下面的注释从ruby doc site,因为我已经看到,但只有第一种形式
str =~ regexp
在其他的答案中:
注意:
str =~ regexp
不等于regexp =~ str
。从指定捕获组捕获的字符串 仅在 第二种情况下被分配给局部变量。
下面是第二种形式的文档:link
- 1. ruby中的类名之前的符号/运算符是什么?
- 2. 运算符|| =在Ruby中代表什么?
- 3. ruby中的!=〜比较运算符是什么?
- 4. 什么是Ruby中的 - >(stab)运算符?
- 5. Ruby中的问号运算符是什么意思?
- 6. 运算符模块中`in`的等效运算符是什么?
- 7. 什么是Java“= +”运算符?
- 8. 什么是“===”运算符?
- 9. 什么是()=>运算符?
- 10. C++ - 什么是运算符。*?
- 11. python中的%运算符是什么?
- 12. 什么是HTML中的“:”运算符?
- 13. 什么是C++中的static_case运算符?
- 14. 什么是Java中的&=运算符
- 15. :El =中的运算符是什么?
- 16. 什么是C#中的“??”运算符?
- 17. Ruby中<=>运算符的名称是什么?他们称之为什么?
- 18. 什么是Ruby类上的<=运算符?
- 19. 在Python中,“〜〜”运算符是什么?
- 20. 在elixir中什么是=〜运算符
- 21. 为什么Ruby使用=〜而不是〜=来匹配运算符?
- 22. =>运算符是做什么的?
- 23. - =运算符是做什么的?
- 24. HAML - “!=”运算符是做什么的?
- 25. 什么是重写的C运算符++
- 26. “+ =”运算符是做什么的?
- 27. 模运算符的语义是什么?
- 28. '&='和'=&'运算符是做什么的?
- 29. *(++ ptr)是什么类型的运算符?
- 30. @运算符的意义是什么?
查找它http://www.ruby-doc.org/core/ – 2010-06-11 20:09:30
@ user97370:常常红宝石文档用作轻率解决方案来回答所有问题,而不会意识到ruby文档并不总是一个易于理解的网站。很多时候(大多数情况下)我从ruby文档开始,无法理解Google的加密和贫乏的解释,只是发现Google上也没有解决方案。一个人不只是谷歌“Ruby =〜”或“Ruby =〜方法”或“Ruby =〜运营商”来获得答案。很高兴看到更少的人将ruby文档作为懒惰的解决方案扔出去,并看到更多深入的实际帮助。 “ – Padawan 2015-09-10 16:07:53