Tag: regex

在html文本中validationurl的存在

我想检测并过滤从表单发送的html文本,包含url或url。 例如,我从表格发送此html: RESOURCEShttp://stackoverflow.com/users/778094/hyperrjas https://github.com/hyperrjas http://www.linkedin.com/pub/juan-ardila-serrano/11/2a7/62  我不希望在html文本中允许或使用各种url / url 。 它可能是这样的: validate :no_urls def no_urls if text_contains_url errors.add(:url, “#{I18n.t(“mongoid.errors.models.profile.attributes.url.urls_are_not_allowed_in_this_text”, url: url)}”) end end 我想知道,如果html文本包含一个或多个url,我该怎么过滤?

Rails 3 – 帮助使用电子邮件validation正则表达式

提供以下REGEX如果提供的电子邮件域与INVALID_EMAILs不匹配似乎无限期运行并锁定rails服务器(我的本地环境)。 INVALID_EMAILS = %w(gmail.com googlemail.com yahoo.com ymail.com rocketmail.com hotmail.com facebook.com) def valid_email_domain(emailAddy) reg = Regexp.new /#{User::INVALID_EMAILS.map{|a| Regexp.quote(a)}.join(“|”)}/ if emailAddy.scan(reg).size == 0 return true else return false end end 那里有可以提供反馈的正则表达专家吗? 谢谢 更新: 控制器: def create @user = User.new # User EmailVeracity to validate the email address email = EmailVeracity::Address.new(params[:user][:email]) Rails.logger.info ‘Email Check Result’ Rails.logger.info valid_email_domain(params[:user][:email]) Rails.logger.info […]

如何扫描单行参数字符串并返回两个数组?

我有以下单行字符串: params = {“FieldStructure”=>”{\”Fields\”:[{\”Title\”:\”Company Name\”,\”Type\”:\”text\”,\”ID\”:\”Field6\”},{\”Title\”:\”Email\”,\”Type\”:\”email\”,\”ID\”:\”Field5\”}]}”, “Field6″=>”tettetette”, “Field5″=>”test@tessss.pl”, “EntryId”=>”25”} 格式版: params = { “FieldStructure”=>” {\”Fields\”:[ {\”Title\”:\”Company Name\”,\”Type\”:\”text\”,\”ID\”:\”Field6\”}, {\”Title\”:\”Email\”,\”Type\”:\”email\”,\”ID\”:\”Field5\”}]}”, “Field6″=>”tettetette”, “Field5″=>”test@tessss.pl”, “EntryId”=>”25” } 我想收到: [[“Company Name”, “Field6”], [“Email”, “Field5″]] 我尝试使用扫描方法,但有一些问题: >> fields = params[‘FieldStructure’].scan(/Title\”:\”(.+?)\”.+ID\”:\”(.+?)\”/) => [[“Company Name”, “Field5”]] 怎么做到这一点?

Regexp用于字符串的特定匹配

我需要一个正则表达式来匹配类似的东西 “4f0f30500be4443126002034” 和 “4f0f30500be4443126002034> 4f0f31310be4443126005578” 但不喜欢 “4f0f30500be4443126002034> 4f0f31310be4443126005578> 4f0f31310be4443126005579”

Ruby Regex捕获字符串中的任何数字字符

所以,我已经做了很多研究,并查看了大量的正则表达式文档,指南和正则表达式生成器,但我发现的任何内容都无法告诉我如何执行此操作(甚至不是在StackOverflow弹出框中出现的链接我在这个问题的“标题”字段中键入了“正则表达式”。 基本上,我正在编写一个数学程序(在Ruby中)来解决一种非常特殊的数学问题。 将有两个输入采用字符串(通过gets.chomp),一个字符串将采取的forms 2x^3+4x^2+5x-42 现在,指数(^ 3和^ 2)将保持不变,正则表达式可以忽略这些指数,任何加法和减法符号以及任何“x”字符都可以忽略。 所以从本质上讲,我需要弄清楚如何编写一个可以对字符串中的任何数字字符进行排序的正则表达式,除非它们前面有一个“^”(表示一个指数),并将它们推出到一个数组中。 (数组中的数字串将在以后解析为数值) 因此,例如,理想的正则表达式会采取类似的方式 8x^3-4x^2+3x-17 并返回一个包含等式中系数的数组 [“8”, “-4”, “3”, “-17”] 保留它们存在的负/减符号很重要。 另一个例子: 这需要 -6x^3+7x^2-5x+9 并返回 [“-6”, “7”, “-5”, “9”] 我有什么想法可以这样做吗? 应用两个单独的正则表达可能更容易吗? Ruby请回答。

用于剥离BBCode的Ruby正则表达式

我试图从给定的字符串中删除BBCode(只使用带有一些正则表达式的gsub )。 这是一个示例字符串: The [b]quick[/b] brown [url=http://example.com]fox[/url] jumps over the lazy dog [img=http://example.com/lazy_dog.png] 我需要输出的是: The quick brown fox jumps over the lazy dog 那有什么办法呢? 我发现了这样做的各种例子,但没有一个适用于我的用例。 我试过的一个:/ /\[(\w+)[^w]*?](.*?)\[\/\1]/ 但这不会捕捉结束[img]标签。

Ruby regex / {3} / – “太短的转义多字节字符”错误

这个正则表达式适用于PHP: preg_match(‘/[\xF0-\xF7][\x80-\xBF]{3}/’, ‘𤋮’); 我需要将它移植到Ruby: /[\xF0-\xF7][\x80-\xBF]{3}/ =~ ‘𤋮’ 只打印too short escaped multibyte character: /[\xF0-\xF7][\x80-\xBF]{3}/错误。 这有什么不对? 我不明白这个错误在说什么。 试图用\\做更多的逃避,但没有。

没有路由匹配“/ users / new”

请帮我解决这个错误。 错误:没有路由匹配[POST]“/ users / new” 我的代码片段是: 意见/用户/ index.html.erb This is Registration page.. “users”, :action => “new”,method: :get} %> 配置/ route.rb Rails.application.routes.draw do root “users#index” get “users/new” => “users#new” get “users/login” => “users#login” #get “users/new” => “users#new”, as: new_user #get “users/login” => “users#login”, as: login_user end 请帮我设置路线文件。

.gsub(/ \ … /,“”)。worub(/ \(/,“”)。gsub(/ \)/,“”)。gsub(/ \ localhost /,“”)<=这是少数

我正在编写一个程序,它将从who命令中提取信息并格式化输出。 正常who命令: user ip date (ip) user ip date (ip) user ip date (ip) user ip date (ip) user ip date (ip) user ip date (ip) user ip date (ip) user ip date (ip) user ip date (ip) user ip date (ip) 我对who命令的新看法: user user user user user user user user user user user 为了做到这一点,我不得不用gsub和其他一些东西完全删除数字,整行看起来像这样: […]

如何删除Ruby中字符串中的最后一个元音?

如何在字符串中定义-last元音? 例如,我有一个单词“经典” 我想找到“classs i c”这个词的最后一个元音是字母“ i ”,并删除最后一个元音。 我在想 : def vowel(str) result = “” new = str.split(” “) i = new.length – 1 while i < new.length if new[i] == "aeiou" new[i].gsub(/aeiou/," ") elsif new[i] != "aeiou" i = -= 1 end end return result end