Tag: 正则表达式

Rails 3 – 预编译文件夹中的所有css,sass和scss文件

所以我有一个具有页面特定样式和css的项目。 我已将这些文件放入他们自己的目录assets/#{type}/page-specific/并且我正在尝试编写正则表达式规则以通知预编译器对它们执行此操作。 这对于房子的JS方面很有用,但csscertificate更加困难。 # page specific style files: app/assets/stylesheets/page-specific/something.css.sass app/assets/stylesheets/page-specific/default.css app/assets/stylesheets/page-specific/home.css.scss 我正在使用我的config/initializers/assets.rb文件中的这个正则表达式: Rails.application.config.assets.precompile << /(page-specific\/[^(css)]+.css)/ 问题是[^(css)]部分没有完全符合我的要求,因为它会过滤掉任何包含ac或s的内容。 我真正想要的是一种匹配整个字符串“css”并停在那里的方法。 此外,我知道传统的智慧是简单地编写样式,以便您不需要特定于页面的样式表,而是支持包含整个样式表的application.css。 我同意。 然而,这是一个非常大的代码库,并且将这个Rails升级带回家有很多时间压力,并且没有时间花费分析和重构这种性质的东西。 我试过让delimiter指令[^\.]停在第一个点,但是这会在一些使用点作为分隔符的供应商样式表上jquery.treeview.css.sass例如jquery.treeview.css.sass 。 显然我可以只更改文件名,但我们是一个正在发展的大型团队,我希望尽可能灵活地使规则更加灵活,这样我们就没有潜入的文件,如果它们没有获得,它们会在生产中爆炸预编译。

Rails 3:validationIP字符串

在Rails 3中,是否有内置的方法来查看字符串是否是有效的IP地址? 如果没有,validation的最简单方法是什么?

检查字符串是否仅包含Ruby中用逗号分隔的浮点数

如何检查字符串是否仅包含由逗号分隔且没有空格的浮动。 如下所示: str = “0.0687987167581341,0.120311605902415,89.8399554017928,198.151088713489” #true str = “0.068798716758f1341,0.120311605902415, 89.8399554017928,198.151088713489” #False because of “f” in the first value. str = “0.0687987167581341 0.120311605902415” # False because of no space and comma. 基本上,我如何检查字符串是否在下面的表格中: str = “,,” # where value may only contains, integers, floats.

REGEX – 再次匹配多行

给出如下文字: XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX.XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX.XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. XXXXXXX. Boss: asdasdasdasd Date: XXX, XXXXXXXXX 我想匹配最后3行: 这是我正在尝试但它失败了: ^Boss:.*$^Date:.*$ 建议? 谢谢

Ruby gsub / regex有几个参数

我是ruby的新手,我正在努力解决问题。 我正在解析几个文本字段,我想删除具有不同值的标头。 当标题始终相同时,它工作正常: variable = variable.gsub(/(^Header_1:$)/, ”) 但是,当我提出几个论点时它不起作用: variable = variable.gsub(/(^Header_1$)/ || /(^Header_2$)/ || /(^Header_3$)/ || /(^Header_4$)/ || /^:$/, ”)

在Ruby中分组正则表达式

示范文本 outline: 4 0 corner: 1 347980000 -2540000 0 corner: 2 347980000 -20320000 0 corner: 3 482600000 -20320000 0 corner: 4 482600000 -2540000 0 outline: 4 1 corner: 1 0 -2540000 0 corner: 2 345440000 -2540000 0 corner: 3 345440000 -20320000 0 corner: 4 0 -20320000 0 outline: 8 2 corner: 1 0 0 0 […]

使用RegexvalidationURL /域? (导轨)

我正在尝试创建一个validation,检查以确保域/ URL有效,例如“test.com” def valid_domain_name? domain_name = domain.split(“.”) name = /(?:[A-Z0-9\-])+/.match(domain_name[0]).nil? tld = /(?:[AZ]{2}|aero|ag|asia|at|be|biz|ca|cc|cn|com|de|edu|eu|fm|gov|gs|jobs|jp|in|info|me|mil|mobi|museum|ms|name|net|nu|nz|org|tc|tw|tv|uk|us|vg|ws)/.match(domain_name[1]).nil? if name == false or tld == false errors.add(:domain_name, ‘Invalid domain name. Please only use names with letters (AZ) and numbers (0-9).’) end end 这是我到目前为止所做的,但它不起作用。 它可以让错误的URL通过而不会失败。 我不太了解正则表达式。

如果不是模式,rack-rewrite会删除斜杠

我在我的应用程序中使用机架重写来删除尾部斜线(如果找到),但我只想要,如果不在某个路线上。 我使用过类似的东西: use Rack::Rewrite do r301 %r{^(?!testroute)(.+)/$}, ‘$1’ end 为了达到我的需要(例如所有路线,但/testroute/应该删除任何尾部斜杠)。 问题是,即使它遇到特定路线,它也不会忽略它,它会删除尾部斜杠。 我的正则表达式是错的,还是有什么我不考虑的?

如何从regexp返回字符串前缀

我有一组字符串,我试图删除所有内容,包括最后一次正则表达式匹配。 样本数据 23401BK221 23430-BZ-221 1004113-BK-3 14989r-113 30402113 我试图这样做 extensions_to_remove = “BK | BZ | 113” sample_data = sample_data.split(/.*(#{extensions_to_remove} $ 1)/) 我希望我能得到一个arrays,我可以拿第一个条目,但不幸的是,我得到了 [“”,“BK”,“ – 221”] [ “”, “BZ”, “ – 221”] [“”,“BK”,“ – 3”] [ “”, “113”] [“”,“113”] 我希望得到的是 23401 23430 1004113 14989r 30402 所以基本上在最后一场比赛后删除everthing,然后如果他们是一个尾随’ – ‘我试图删除它。 我想如果我把它放到一个数组中,我可以取第一个值,然后去掉尾随的’ – ‘,如果它存在的话。 关于我做错什么的任何建议? 为什么我没有收到前缀? 有一个更好的方法吗?

如何改进正则表达式以消除不必要的方法链接?

此函数方法接受一个数字并返回以逗号分隔的相同值,这是美国的常见惯例。 我可以让它与正则表达式一起工作的唯一方法是在表达式之前和之后反转字符串。 是否有正则表达式可以帮助我消除为方法function调用String#reverse两次的需要? def separate_comma(number) raise “You must enter a number.” if number.is_a?(Numeric) == false number.to_s.reverse.gsub(/(\d{3})(?=\d{1,3})/, “\\1,”).reverse end