ruby-on-rails - 在 Rails 中匹配以给定子字符串结尾的字符串,某些情况除外

标签 ruby-on-rails ruby regex

我在 Rails 应用程序中有一个正则表达式 /(.+)_id$/ 匹配任何以 _id 结尾的字符串。我需要它来匹配除 associated_id 之外的任何以 _id 结尾的字符串。我怎样才能做到这一点?

谢谢:)

-C

最佳答案

/(.+)(?<!associated)_id$/

将使用负​​向回顾来确保 (.+) 匹配的内容不会以 associated 结尾。

对于不支持lookbehind的语言,你可以使用这个:

/\A(?!.*associated_id$)(.+)_id$/

这将断言不可能从字符串的起始位置匹配以 associated_id 结尾的字符串。

关于ruby-on-rails - 在 Rails 中匹配以给定子字符串结尾的字符串,某些情况除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1785578/

相关文章:

ruby-on-rails - 如何在 heroku 中重命名 postgres 数据库

mysql - Sql 查询获取 Rails 中最受欢迎的帖子

Ruby 2.4 Enumerable#sum 在 Rails 5.1 中中断

java - 使用正则表达式替换字符串中的数字

regex - Logstash grok过滤器标记接收和退回的邮件

jquery - 具有可调整大小部分的页面布局(是否使用 Jquery、Rails 插件)

ruby-on-rails - rspec LoadError(Ruby on Rails,Michael Hartl 的教程)

Ruby - 从 Array 继承

ruby-on-rails - 通过accepts_nested_attributes_for对has_many关联记录进行唯一性验证

javascript - jQuery/JavaScript 用括号外的逗号分割字符串