ruby - 检查正则表达式是否与 RoR 匹配?

标签 ruby regex

我的 RoR 代码如下;

1. error_regex = /\|FileName.exe\|((dlg|frm|cls).*?)/
2. error_regex.match(backtrace)
3. if !error_regex.nil?
4.    file_name = error_regex[1].sub!(/\.zip/, '')
5.    file_name
6. end

所以我的问题是,这里的第 3 行发生了什么。 我的 RoR 经验基本上为零,所以看着这段代码,我将其解读为 如果 error_regex.nil 不为零则继续

但是那是什么?为了 我不能这样做

if !error_regex.nil

正则表达式都很好,我只是想了解这个语法。

最佳答案

问号用于指示该方法按照约定返回 bool 值。类似的例子有include?对于数组,(如果数组中有给定元素,则返回 true), empty?对于字符串(如果 true 则返回 string == "" ),并且 zero?对于整数(如果 int 为零,则返回 true)。

所以它不是 Rails 特定的 - 它是 Ruby 特定的。

关于ruby - 检查正则表达式是否与 RoR 匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7749254/

相关文章:

ruby-on-rails - rails : How to Implement Number of Post Views?

php - Notepad++ 删除内含特定文本的标签

python - 如何在Python中通过正则表达式区分重叠的字符串?

ruby-on-rails - 从 Ruby/Rails 调用 Lisp?

ruby-on-rails - 打破和返回值的最佳方式

java - 编译过程中复制文件

java - 删除特定括号之间的所有内容

mysql - 如何从数据库列中分解用户 ID?

Java 正则表达式替换字符串中的负字节

ruby-on-rails - 获取 “Gem::LoadError: can' t 激活 jwt (~> 0.1.4),已经激活 jwt-1.0.0。”