【问题标题】:Why is the IRB prompt changing to an askerisk when I try to match this regex?当我尝试匹配这个正则表达式时,为什么 IRB 提示会变成一个问号?
【发布时间】:2013-06-24 23:17:09
【问题描述】:

我是 Ruby 的新手,我使用的是 1.9.3 版。我有以下正则表达式:

/\\\//

据我所知,它应该匹配一个包含字符'\''/' 的字符串,一个接一个,对吧?

如果正则表达式匹配最右边的字符串或符号,我正在使用以下代码来获取true

!(regex !~ :"string or symbol to match")

因为使用=~ 给了我匹配的索引,我只想要一个布尔值。此外,我想看看 Ruby 与 C 相比有多丑陋或骇人听闻:P

当我尝试匹配符号:\/ 时,IRB 提示符变为星号,并且不返回任何内容。为什么?

当我尝试匹配字符串"\/" 时,我的小丑sn-p 返回false。为什么?

【问题讨论】:

    标签: ruby regex


    【解决方案1】:

    符号:\/ 不是有效符号。如果您想要字符串'\/' 的符号版本,您可以使用:'\/'。当你喂它"\/" 它是假的,因为它有双引号所以它实际上是字符串'/' 所以你实际上想要'\/'"\\/"

    最后,最好的代码和约定是像这样进行测试:

    !!(regex =~ :'\/')
    !!(regex =~ '\/')
    !!(regex =~ "\\/")
    

    【讨论】:

      猜你喜欢
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      • 1970-01-01
      相关资源
      最近更新 更多