繁体   English   中英

红宝石扫描方法:^是做什么的?

[英]ruby scan method: What does ^ do?

我写了一种打印欧元价格的方法:

print((" " + text).scan(/\d+,\d+ EUR/).map {|m| m.reverse.chop.reverse})

通过

text = "this is 14,67 EUR"

它适用于逗号后的所有数字,但缺少第一个数字(返回4,67而不是14,67)

我找到一条线来解决我的问题:

text.scan(/[^\d]\d,\d+ EUR/)

但是,为什么这样做有效,^的作用是什么?

  • ^当括号内的第一个为“ not”运算符时
  • /[^\\d]/表示不是数字

text.scan(/[^\d]\d,\d+ EUR/)

说:

  • 寻找一个非数字
  • 后跟一位
  • 后面跟一个逗号
  • 后跟一位或多位数字
  • 跟一个空格
  • 其次是“ EUR”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM