Articles of 正则表达式

使用ruby解析字符串路径名

我有一个类似于的路径字符串: /some/long/path/filename.extension 我需要在ruby中解析“filename”部分

计算railsvalidation中的单词

我正在使用以下validation来计算rails中的单词(我从Rails文档中得到了示例),但它并不真实: validates :body, :length => { :minimum => 50, :maximum => 300, :tokenizer => lambda { |str| str.scan(/\w+/) }, :too_short => “must have at least %{count} words”, :too_long => “must have at most %{count} words” } 一个用户试图发布一个291个单词的东西(这是Word给出的计数)并且它被拒绝的时间太长了。 我不确切地知道正在使用的表达式有什么问题,或者可能是一个很好的表达式来确保准确的字数。

rails使用正则表达式以逗号分隔的自动完成标记

我正在使用旧的auto_complete插件与gem上的taggable一起使用,试图基本上复制Stack Overflow本身的标记行为! 我或多或少做了这个rails cast中描述的内容。 对于单个标签,这非常有效。 但是,我真的希望这样做,以便每次用户输入空格或逗号(就像在Stack Overflow上一样)时,自动完成将重新开始。 我想有一些方法可以通过正则表达式来做到这一点,但我不知道如何将这种行为应用到text_field(我想用JavaScript来“重启”自动完成,但不可否认我相当弱谈到JavaScript。这就是我的观点: formatted_businesses_path(:js), :method => :get, :with => “‘search=’ + element.value” } %> 我的控制器非常简单,只需保存特定业务的标签即可。 如果有人能指出我正确的方向(因为我不知道如何去做)我会非常感激。

rails – 用于电子邮件validation的REGEX

我正在寻找一个正则表达式validation电子邮件,以了解它是否有效..我有以下内容: def is_a_valid_email?(email) email_regex = %r{ ^ # Start of string [0-9a-z] # First character [0-9a-z.+]+ # Middle characters [0-9a-z] # Last character @ # Separating @ character [0-9a-z] # Domain name begin [0-9a-z.-]+ # Domain name middle [0-9a-z] # Domain name end $ # End of string }xi # Case insensitive (email =~ email_regex) […]

有没有更简单的方式来显示$ currency格式?(特别是逗号)我可以将RE与Objective C代码集成吗?

我使用X代码4。 并制作美国货币计算器。 我的目标是以适当的格式显示数字? 喜欢 1,234美元 $ 12,100名 $ 1,23,123 我不想通过附加和字符串来做到这一点。 有没有更简单的方法,以便我可以集成任何RE或任何ruby或Python。 这将有助于我制作货币格式。 请告诉我更简单的方法而不是长时间的编程。

Rails 3路由约束和正则表达式

我希望匹配路径中的模式state/city ,除非状态变量等于“auth” match ‘/:state/:city’ => ‘cities#index’, :as => :state_cities, :constraints => {:state => /(?!auth)/ } 例如, mydomain.com/fl/miami很好。 mydomain.com/auth/twitter很糟糕。 我正在使用omniauth,它要求你去/auth/twitter进行身份validation,但是当我输入rake routes时无处可寻。

正则表达式检查用户名中连续出现的句点符号

我必须在我的应用程序中validation用户名,以便它不能包含两个连续的句点符号。 我尝试了以下内容。 username.match(/(..)/) 但发现这匹配“a”。 和“a ..”。 我希望得到nil作为输入“a。”的匹配操作的输出。 我的做法是对的吗?

如何将ruby regex翻译为javascript? – (?i-mx:..)和Rails 3.0.3

我使用validates_format_of方法来检查电子邮件格式: validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[az]{2,})$/i 我也使用livevalidation插件来validation表单,所以在我的代码我得到: (?i-mx:^([^@\\s]+)@((?:[-a-z0-9]+\\.)+[az]{2,})$) Javascript无法读取此正则表达式。 我如何或在哪里可以将此正则表达式更改为原始: /^([^@\s]+)@((?:[-a-z0-9]+\.)+[az]{2,})$/i ?

提供的正则表达式使用多行锚点(^或$)

我尝试编写一个图像validation格式,确保url以.png,.jpg或.gif结尾。 class Product true, :uniqueness => true validates :image_url, :presence => true, :format => { :with => %r{\.(gif|jpg|png)$}i, :message => ‘must be a URL for GIF, JPG or PNG image.’ } end 但是,当我启动我的服务器。 看到这个: 提供的正则表达式使用多行锚点(^或$),这可能会带来安全风险。 你的意思是使用\ A和\ z,还是忘了添加:multiline => true选项?

如何在Rails 4中存储自定义常量?

我为电子邮件,bitmessage等制作了一些正则表达式,并将它们作为常量 #config/initializers/regexps.rb REGEXP_EMAIL = /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[az]{2,})\z/i REGEXP_BITMESSAGE = /\ABM-[a-zA-Z1-9&&[^OIl]]{32,34}\z/ 并使用它 if @user.contact =~ REGEXP_EMAIL elsif @user.contact =~ REGEXP_BITMESSAGE 这是好习惯吗? 存储它们的最佳方法是什么?